线程里创建com对象,提示没调用CoInitialize
constructor TListRecorder.Create;
begin
CoInitialize(nil); //后来去掉了,也没关系的样子
CDBWork1 := TCDBWork.Create(nil); //com对象
query := TAdoQuery.Create(nil); //com对象
inherited Create(True);
end;
procedure TListRecorder.Execute;
var
s: _Stream;
buf: Variant;
rs: _Recordset;
Param: TQueryRecordParam;
begin
.....
....
CoInitialize(nil); //后来加的,加了就没问题了
CDBwork1.RemoteMachineName := frmMain.RecorderServerIP;
CDBwork1.Connect;
if CDBWork1.pConnected then
....
....
end;
本来只有在create 里才有CoInitialize,但还是报错,我就在Execute又加了一个;可以了
是不是创建时,我把create 里的去掉了,也没问题,我想问一下CoInitialize是什么意思,
怎么用,什么时候用。