http://blog.csdn.net/dlwxn/article/details/2860329
http://www.itnose.net/detail/120267.html
不知道是 线程内代码造成的内存泄露还是反复创建线程造成的
线程里 用到了 以下代码
function THtmlThreade.HtmlToText(HtmlText: WideString): WideString; var V: OleVariant; Document: IHTMLDocument2; begin Result := HtmlText; if HtmlText = '' then Exit; CoInitialize(nil); Document := CoHTMLDocument.Create as IHtmlDocument2; try V := VarArrayCreate([0, 0], varVariant); V[0] := HtmlText; Document.Write(PSafeArray(TVarData(v).VArray)); Document.Close; Result := Trim(Document.body.outerText); finally Document := nil; CoUninitialize; end; end;
好像v没有清除?
貌似 自己搞定了 线程里用到com 一定要自己手动释放
initialization
OleInitialize(nil);
finalization
OleUninitialize;
另外要 用 CoInitializeEx(nil,COINIT_MULTITHREADED); 而不是 CoInitialize(nil);
再次测试 内存没有增加
不对之处 请指正
initialization
OleInitialize(nil);
finalization
OleUninitialize;
另外要 用 CoInitializeEx(nil,COINIT_MULTITHREADED); 而不是 CoInitialize(nil);
再次测试 内存没有增加
不对之处 请指正