我在windows XP里用VB做了个程序,今天清机了,换成了windows2000,结果在XP里用VB做的程序在2000里一运行就说找不到什么工程或库,出错的时候是指向RetStr = String(255, Chr(0)),以下是声明的API和自己写的部分函数,不知道是怎么回事情,请高手解答Public entry As String     '需要的值
Public iniPath As String   '配置文件路径Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpRetunedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFileName As String) As Long'读取INI信息
Function GetINI(AppName As String, KeyName As String, FileName As String) As String
   Dim RetStr As String
   RetStr = String(255, Chr(0))
   GetINI = Left(RetStr, GetPrivateProfileString(AppName, ByVal KeyName, "", RetStr, Len(RetStr), FileName))
End Function'写进INI信息
Function SetIni()
   Call WritePrivateProfileString("Con", "Dir", App.Path + "\" + "DataBase\Associator.mdb", iniPath) '写入数据库路径
   Call WritePrivateProfileString("Ter", "Date", "1", iniPath)    
   Call WritePrivateProfileString("Fet", "Bid", "1", iniPath)     
   Call WritePrivateProfileString("Act", "Pol", "1", iniPath)     
   Call WritePrivateProfileString("Sig", "Imp", "1", iniPath)     
End Function
Public Function modRWini_load()
    '当前配置文件所在路径
    iniPath$ = App.Path + "\Config.ini"
End Function

解决方案 »

  1.   

    打开系统,看你VB引用了什么,把丢失的补上或者去掉2K下的程序和XP是兼容的所以一般都是相同dll版本的问题,比如 ado你可以引用2.7,但是2k下是肯定没有2.7,所以引用要恰当的版本
      

  2.   


      估计你的程序引用了其他什么库了,看程序GetINI函数应该是可以的  看看是不是引用了其它什么东西了  vb 有时候也会像 C 编译器一样把错误乱指的
      

  3.   

    和操作系统无关,可能你的vb坏了,这段代码也没有问题,重装vb吧,一般会好的。 daisy8675(莫依)的话也很有道理,但这不是你这段代码的问题。
      

  4.   

    应该是在xp下,自己引用了库,那个库在2k下可能没有安装而导致问题出现,这段代码是没有问题的。
    自己检查是不是引用了库先