高分关于DLL调用的问题,高手快进!(100分)

  • 主题发起人 主题发起人 liujian
  • 开始时间 开始时间
L

liujian

Unregistered / Unconfirmed
GUEST, unregistred user!
首先,保证DLL中窗体创建绝对没问题!
我认为,主要原因是我的DLL中用到ADO,且用到数据模板(放置ADO控件);

调用DLL的函数时报以下错误:
‘raise exception class SOLeSysError.with message "尚未调用CoInitialize"'

是不是DLL中用到了COM就要加入COM初始化代码COInitialize(NIL)?
还是其它原因?

请高手赐教!(最好代例子)谢谢!
 
只要在DLL的数据模板oncreate及ondestroy事件中写入以下代码便可!
(注意:单元须引入OLE2.PAS;)
procedure Tdm.DataModuleCreate(Sender: TObject);
begin
coInitialize(nil);
end;

procedure Tdm.DataModuleDestroy(Sender: TObject);
begin
counInitialize();
end;
 
接受答案了.
 
后退
顶部