请高手指教!本人用DCOM连接远程数据库,在线程中执行DataRequest时,编译器报错,提示‘尚未调用CoInitialize’,怎样解决?(100分)

  • 主题发起人 主题发起人 属于昨天
  • 开始时间 开始时间

属于昨天

Unregistered / Unconfirmed
GUEST, unregistred user!
本人用DCOM连接远程数据库,在线程中执行DataRequest时,编译器报错,提示‘尚未调用CoInitialize’,怎样解决?多谢。
 
看****啊
constructor TMultiTrdCmdGet.Create(aSqlStr:String;aThreadCount,aPacketRecCount: Integer;
aCDS: TClientDataSet);
begin
OleCheck(CoInitialize(nil));
**********************************
inherited Create(True);
FreeOnTerminate := True;
Resume;
end;
destructor TMultiTrdCDSGet.Destroy;
begin
CoUninitialize;
******************************************
inherited Destroy;
end;
或者只在过程中
procedure TMultiTrdCDSGet.DoFirst;
var
MyServ:IGMService;
vDatas,aError:OleVariant;
begin
OleCheck(CoInitialize(nil));
**********************************
MyServ:=CreateCOMObject(CLASS_GMService) as IGMService;
MyServ.MultiCDSGet(0,FCDS.ProviderName,0,0,vDatas,aError);
FRecCount := vDatas;
CoUninitialize;
******************************************
end;
 
CoInitialize哪个单元文件?编译器提示不能辨认的标识符?
 
需引用ActiveX
在单元中加入初始化代码
initialization
Coinitialize(nil);
finalization
CoUninitialize;
 
多人接受答案了。
 
后退
顶部