我现在手里有段VB的程序在XP系统下能正常运行,调用的是Prodave6.dll,现在要换到WIN7 32位电脑上,运行不了,报编译错误,找不到工程或库,不知道怎么换成6.2的Prodave,希望各位大神给我大力指点,我是VB小白。QQ 3196188956 我是VB小白。如能帮忙,不甚感激。

解决方案 »

  1.   

    建议放在WIn7 32位电脑上的虚拟机(比如VMWare、VirtualBox、HyperV、……)下的WinXP中运行。
      

  2.   

    那个是“第三方dll文件”啊!
    你要把那个dll文件放在你的工程所在目录中(调试运行时)并双击工程文件打开工程,
    或者把那个dll文件放到系统的system32目录中。
      

  3.   

    你看看你的“能正确运行”的电脑,它的system32目录或者程序所在目录,肯定有Prodave6.dll这个文件。
    你把它复制到你的Win7系统的电脑中去!
      

  4.   

    Prodave6.dll 是Windows 系统文件,是支持 Win7 的。你把原机上的文件复制到系统目录中:C:\Windows\System (Windows 95/98/Me) 
    C:\WINNT\System32 (Windows NT/2000) 
    C:\Windows\System32 (Windows XP, Vista)
    C:\Windows\System32 (Windows 7/8/2008r2)
    C:\Windows\SysWOW64 (Windows 7/8/2008r2)
      

  5.   

    谢谢你的帮助,可我把6,.DLL这个文件复制到System32里去后,运行时报“未找到方法或数据成员”,您知道为什么吗
      

  6.   

    复制到System32里去了 ,可是运行时报“编译错误,未找到方法或数据成员”,不知道这是不是要改程序的啊
      

  7.   

    Private Sub tmrTime_Timer()
    On Error Resume Next
    'tmrTime.Enabled = False
    Dim S7_flag As Long
    Timer_Counter = Timer_Counter + 1
    PLC_mnl
         
         
     If (Timer_Counter = 1) Then
        If (Read1_Power = True) Then
        staMessage.Panels(1).Text = "功率表1读成功!"
          Else
         staMessage.Panels(1).Text = "功率表1读失败!"
          End If
             End If
              
     If (Timer_Counter = 2) Then
       If (Read2_Power = True) Then
           staMessage.Panels(1).Text = "功率表2读成功!"
          Else
           staMessage.Panels(1).Text = "功率表2读失败!"
           End If
          End If
        
        
        If (Timer_Counter = 3) Then
       If (Read3_Power = True) Then
           staMessage.Panels(1).Text = "功率表3读成功!"
          Else
           staMessage.Panels(1).Text = "功率表3读失败!"
           End If
           
          End If
          
       If (Timer_Counter = 4) Then
       If (Read4_Power = True) Then
           staMessage.Panels(1).Text = "功率表4读成功!"
          Else
           staMessage.Panels(1).Text = "功率表4读失败!"
           End If
          End If
        
        
      If (Timer_Counter = 5) Then
              If (Read5_Power = True) Then
             staMessage.Panels(1).Text = "功率表5读成功!"
            Else
           staMessage.Panels(1).Text = "功率表5读失败!"
             End If
             Timer_Counter = 0
            End If
       
      
    tmrTime.Interval = 500
    'tmrTime.Enabled = True
    ReadAll
    End Sub
    运行时第一行Private Sub tmrTime_Timer()总是黄色的。。
      

  8.   

    在64位Windows下:
    64位exe和dll在目录c:\windows\system32目录下;
    32位exe和dll在目录c:\windows\syswow64目录下;
    所以要注意:
        在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。
        且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
      

  9.   

    是32位的Win7,只有System32这个文件夹,赵老师,你说我这个是得要改程序吗,好像是得知道Prodave6.2的什么参数值的
      

  10.   

    放在虚拟机下的WinXP中最稳妥。