在服务中调用COM组件不能像在桌面程序中直接创建,在每次创建之前先调用CoInitialize(nil),释放的时候调用CoUninitialize。例如:调用ADO组件
var
Qry: TADOQuery;
begin
CoInitialize(nil);
Qry := TADOQuery.Create(nil);
try
...
finally
Qry.Free;
CoUninitialize;
end;
end;
var
Qry: TADOQuery;
begin
CoInitialize(nil);
Qry := TADOQuery.Create(nil);
try
...
finally
Qry.Free;
CoUninitialize;
end;
end;
本文介绍在服务环境中正确调用COM组件的方法。由于服务环境与桌面程序不同,因此在每次创建COM对象前必须初始化COM库,并在使用完毕后进行清理。文章通过调用ADO组件的具体实例展示了这一过程。
1289

被折叠的 条评论
为什么被折叠?



