zoukankan      html  css  js  c++  java
  • CoHTMLDocument

    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); 

    再次测试  内存没有增加  

    不对之处 请指正 
     
     
     
     
  • 相关阅读:
    Building Forest CodeForces
    欢迎使用CSDN-markdown编辑器
    Travelling HDU
    Card Collector HDU
    Doing Homework HDU
    Mirror Number SPOJ
    Palindromic Numbers LightOJ
    Magic Numbers CodeForces
    Xor-sequences CodeForces
    Little Elephant and Elections CodeForces
  • 原文地址:https://www.cnblogs.com/CodeGear/p/5076784.html
Copyright © 2011-2022 走看看