initialization
CoInitialize(nil);
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
finalization
CoUninitialize;
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
2) 把WebBrowser封装到Dll里面调用的时候总是说“尚未调用 CoInitialize。”,"CoInitialize has not been called"或“尚未调用 CoInitialize。”的解决方法。用TWebBrowser显示HTML文档时或者把WebBrowser封装到Dll里面调用的时候总是说“尚未调用 CoInitialize。”,解决方法:
在“开始 -> 运行”中输入 regsvr32 shdocvw.dll
然后在uses 中加入ActiveX,老版本的加入OLE2;
uses
ActiveX, // 确认加入这个单元
// 老版本的Delphi用 OLE2 代替
Windows;
initialization
CoInitialize(nil); // 手动调用 CoInitialize()
finalization
CoUnInitialize; // 释放内存
end. Delphi中 CoInitialize和 OleInitialize有什么区别CoInitialize------------- COM对象
OleInitialize ----------- OLE对象COM库:CoInitialize{Ex}、CoUnitialize
OLE系统:OleInitialize、OleUnitializeCOM对象和OLE对象有什么不同呢?是不是COM是OLE的子集?OLE是COM的前身,MS现在已经全部转道COM上了,应该现在不发展OLE
*******************************************************************************
这两天编码发现一点,在多线程中 要重新初始化多线程中的内容,例如:
function ExecuteMsg: Integer; stdcall;
begin
CoInitialize(nil);
strList := TStringList.Create;
。。。。。。。
FreeAndNil(strList);
Result := 0;
CoUnInitialize; // 释放内存
end;
万一老师讲的多线程http://www.cnblogs.com/del/archive/2009/02/05/1384713.html