Q
qyfei
Unregistered / Unconfirmed
GUEST, unregistred user!
我用Delphi调用C的动态库,目前我只有其中两个函数的原型
一个是函数A,另一个是函数B,B的原型为:bool GetNextK(int MachNo,char *Result)
我在Delphi声明函数B:function GetNextK(MachNo:Integer;_ResultChar) :Boolean;stdcall external 'ic_dll.dll';
我运行程序后,出现这样的现象:
我先调用函数A是成功的,然后我调用函数B也是成功的,但是再调用函数A就失败了,再调用函数B也是失败的。
意思是只要函数B使用过一次之后,再调用其他函数都不能成功,遇到这种情况,我把程序关闭了重新运行,现象仍然一样,B使用了之后,其他就不能使用。
请问会是什么原因造成的,我换成了动态调用,好像也是一样的结果,烦请各位帮忙分析,多谢,提供点方法让我来测试,解决这个问题。
一个是函数A,另一个是函数B,B的原型为:bool GetNextK(int MachNo,char *Result)
我在Delphi声明函数B:function GetNextK(MachNo:Integer;_ResultChar) :Boolean;stdcall external 'ic_dll.dll';
我运行程序后,出现这样的现象:
我先调用函数A是成功的,然后我调用函数B也是成功的,但是再调用函数A就失败了,再调用函数B也是失败的。
意思是只要函数B使用过一次之后,再调用其他函数都不能成功,遇到这种情况,我把程序关闭了重新运行,现象仍然一样,B使用了之后,其他就不能使用。
请问会是什么原因造成的,我换成了动态调用,好像也是一样的结果,烦请各位帮忙分析,多谢,提供点方法让我来测试,解决这个问题。