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;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
另外要 用 CoInitializeEx(nil,COINIT_MULTITHREADED); 而不是 CoInitialize(nil);
再次测试 内存没有增加
不对之处 请指正
CoHTMLDocument的更多相关文章
- delphi HTML转义字符编码转换
网上很多把HTML转换成纯文本格式的方法很多思路都是用正则表达式或者分析html代码替换的方法. 本文是利用IE完成转换,即利用IHTMLDocument2接口. Denon天Denon龙Denon ...
随机推荐
- new Date()时间对象
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...
- 加速Eclipse使其成为超快的IDE
按照下述步骤来加速Eclipse为超快的IDE,它适用于32和64位版本的Eclipse /JDK(OS为64位Windows 7). 1.禁用防病毒软件,或将JDK.Eclipse.workspac ...
- 转:c++内存分配
第一篇: http://my.oschina.net/pollybl1255/blog/140323 BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS ...
- SVM中图像常用的HOG特征描述及实现
转摘网址:http://www.cnblogs.com/tiandsp/archive/2013/05/24/3097503.html Hog参考网址:http://www.cnblogs.com/t ...
- map 后 PE 蓝屏原因专题讨论(e820cycles参数)
map 后 PE 蓝屏原因专题讨论(e820cycles参数)http://bbs.znpc.net/thread-6182-1-5.html不点发表于 2011-12-8 11:42:31 大家知道 ...
- 利用mycat实现mysql数据库读写分离
1.这里是在mysql主从复制实现的基础上,利用mycat做读写分离,架构图如下: 2.Demo 2.1 在mysql master上创建数据库创建db1 2.2 在数据库db1创建表student ...
- angular 零碎知识
各种服务: $location:可以监听事件的改变 link 在没有设置template的情况下,指令作为标签使用的时候,ele是指令(伪数组的形式); * 如果指令作为属性使用的话,ele是使用该指 ...
- robotframework笔记14
创建用户关键字 关键字表是用于创建新的更高层次的关键词 结合现有的关键词. 这些关键字被称为 用户 关键字 区分他们的最低水平 库关键字 实现在测试库. 的语法创建用户 关键词非常接近的语法创建测试用 ...
- Ubuntu 安装 Redis
1. 下载并安装 redis 2.6.16版 sudo mkdir /usr/local/src/Redis cd /usr/local/src/Redis sudo wget http://down ...
- 《Java程序设计》第十周学习总结
20145224 <Java程序设计>第十周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的 ...