我有一个Com对象,安装/创建/从DataModule工作。DELPHI应用程序错误与DLL在一个DLL
创建/运行/从应用程序释放Datamodule可以解决问题。
但将数据模块放入DLL中,第一次运行正常,运行com对象等。但在重新启动应用程序后出现几次调用后,出现此错误。
Error Message image http://darkaxi0m.name/so/errormessage.GIF
还有就是在App代码票价位,所以我不能张贴这一切, 我已经试过MadExcept同时在应用程序和DLL,没有运气。在一个点的IDE休息似乎并没有太大的帮助......
alt text http://darkaxi0m.name/so/cpubreak.gif
这是处理DataModule中的代码,同样的功能在应用程序和DLL使用在两个测试中
function GetAmount(Amount : integer; var Info: PChar): integer; stdcall;
var
tempInfo: string;
workerDM : TworkerDM;
begin
Result := 0;
workerDM := TworkerDM.Create(nil);
try
tempInfo:= Info;
Result := workerDM.GetAmount(Amount, tempInfo);
StrPCopy(Info, tempInfo);
finally
workerDM.Free;
end;
end;
我想责怪OLE对象,但它工作正常进行的dll
我不知所措,甚至想从哪里开始寻找。
对不起,这是一个复制/粘贴和格式化为stackoverflow受害者 – 2010-08-07 14:52:55
@Christopher:没问题;我遇到了很多真实世界的代码,这种方式错了,导致很难发现错误。很高兴你的代码不会受到它的影响。 – 2010-08-17 15:43:11