我有一个COM对象,建立/创建/从一个DataModule中工作。

创建/跑步/从应用程序中释放的数据模块与出的问题的工作原理。

但把数据模块成DLL正常工作的第一次,乳宁COM对象等。但经过几次电话跟了重新启动应用程序,这个错误出现。

错误消息图像http://darkaxi0m.name/so/errormessage.GIF

有是一个代码票价位在App,所以我不能发布这一切, 我曾尝试MadExcept同时在应用程序和DLL,没有运气。在一个点的IDE休息似乎并没有太大的帮助......

替代文字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的

我不知所措甚至认为从哪里开始寻找。

有帮助吗?

解决方案 2

我不相信这个问题可以被任何以上回答。 该项目已被刮掉,并不再使用产生错误的对象。

我的删除的要求没有得到答复。

这就是我现在的答案。

其他提示

finally,您呼叫Free,但应该调用workerDM.Free

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top