Error opening DLL library Test.dll for external function at line 22 in function of_add of object uo_test.
按字面意思看,就是说这个函数有问题,但是为什么在第一次运行的时候没有问题。然后把PB关闭了再打开,重新运行运行程序就正常了,当然也跟前面一样,只能运行一次,要想运行第二就必须把PB关闭了再打开。如果把程序编译成EXE后,运行多少次都不会报错。
在PB9和PB11.5里都遇到过,不知道有没有遇到过类似问题的朋友,说说看什么原因造成的。
9 个解决方案
#1
另外补充一下,刚才这个Test.dll用在了不同的workspace中,一个有类似的问题,另外一个就没有这样的问题,随便怎么运行都不会报错
#2
在调用外部函数前,写上
messagebox('', GetCurrentDirectory ( )) 看它不提示错误和提示错误时先后都弹出的是什么内容。
messagebox('', GetCurrentDirectory ( )) 看它不提示错误和提示错误时先后都弹出的是什么内容。
#3
同意楼上的,试一下
#4
刚才试了下,路径没有变,我也检查了下,没有改变路径的代码
#5
是不是有返回参数而没有对变量进行初始化的?
#6
变量都初始化了的,其实就是网上的一个加密解密对象,但是用到这个项目上就有问题了:
定义外部API:
Function Int b64_size(ULong size,ULong flag) Library "des.dll" Alias FOR "b64_size;Ansi"
Function Int b64_des(Ref String In,Ref String out,String Key,ULong size,ULong flag) Library "des.dll" Alias FOR "b64_des;Ansi"
解密:
of_UnEncrypt(string as_pass)
Long Ll_Size
String Ls_OutPass
String Ls_InPass
Ls_InPass = Trim(As_Pass)
Ll_Size = b64_size(lena(Ls_InPass),1)
Ls_OutPass = Space(Ll_Size)
B64_Des (Ls_InPass , Ls_OutPass , is_key , Lena (Ls_InPass) , 0 ) // is_key是对象的实例变量
RETURN Ls_OutPass
就这么简单一个调用,在其他的workspace中都正常,这次就不正常了,不知道是怎么的
#7
感觉好像跟Oracle有关系,用SQL Server就没有问题,ASA也没有问题,但是又找不出来是什么原因
#8
可能是pb的问题,只要编译以后没有问题,就不要管他了
#9
现在也只能这样了
#1
另外补充一下,刚才这个Test.dll用在了不同的workspace中,一个有类似的问题,另外一个就没有这样的问题,随便怎么运行都不会报错
#2
在调用外部函数前,写上
messagebox('', GetCurrentDirectory ( )) 看它不提示错误和提示错误时先后都弹出的是什么内容。
messagebox('', GetCurrentDirectory ( )) 看它不提示错误和提示错误时先后都弹出的是什么内容。
#3
同意楼上的,试一下
#4
刚才试了下,路径没有变,我也检查了下,没有改变路径的代码
#5
是不是有返回参数而没有对变量进行初始化的?
#6
变量都初始化了的,其实就是网上的一个加密解密对象,但是用到这个项目上就有问题了:
定义外部API:
Function Int b64_size(ULong size,ULong flag) Library "des.dll" Alias FOR "b64_size;Ansi"
Function Int b64_des(Ref String In,Ref String out,String Key,ULong size,ULong flag) Library "des.dll" Alias FOR "b64_des;Ansi"
解密:
of_UnEncrypt(string as_pass)
Long Ll_Size
String Ls_OutPass
String Ls_InPass
Ls_InPass = Trim(As_Pass)
Ll_Size = b64_size(lena(Ls_InPass),1)
Ls_OutPass = Space(Ll_Size)
B64_Des (Ls_InPass , Ls_OutPass , is_key , Lena (Ls_InPass) , 0 ) // is_key是对象的实例变量
RETURN Ls_OutPass
就这么简单一个调用,在其他的workspace中都正常,这次就不正常了,不知道是怎么的
#7
感觉好像跟Oracle有关系,用SQL Server就没有问题,ASA也没有问题,但是又找不出来是什么原因
#8
可能是pb的问题,只要编译以后没有问题,就不要管他了
#9
现在也只能这样了