Delphi TEmbeddedWB在程序关闭时重复复制操作

Delphi TEmbeddedWB在程序关闭时重复复制操作,delphi,delphi-xe2,clipboard,twebbrowser,tembeddedwb,Delphi,Delphi Xe2,Clipboard,Twebbrowser,Tembeddedwb,我执行以下代码将整个文本从TEmbeddedWB复制到剪贴板: EWBH.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT); EWBH.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); EWBH.ExecWB(OLECMDID_CLEARSELECTION, OLECMDEXECOPT_DONTPROMPTUSER); 但是,在此之后关闭程序时,某些内容会自动再次复

我执行以下代码将整个文本从TEmbeddedWB复制到剪贴板:

EWBH.ExecWB(OLECMDID_SELECTALL,      OLECMDEXECOPT_DODEFAULT);
EWBH.ExecWB(OLECMDID_COPY,           OLECMDEXECOPT_DODEFAULT);
EWBH.ExecWB(OLECMDID_CLEARSELECTION, OLECMDEXECOPT_DONTPROMPTUSER);
但是,在此之后关闭程序时,某些内容会自动再次复制相同的内容。我已经检查过,这段代码没有被再次执行,所以它一定是其他的东西(TEmbeddedWB?)在程序关闭时进行复制

上面的代码有问题吗?当程序关闭时,如何防止额外的复制


EDIT201404011858:执行上述代码后,如果将其他内容复制到剪贴板,则似乎不会出现问题。

对于解决方法,您可以在退出时将较小的内容复制到剪贴板。您还可以通过在代码中提取剪贴板的内容,然后将其放回剪贴板来解决此问题,这样您的代码就可以将代码添加到剪贴板而不是嵌入的WB。这可能是延迟的渲染清理。i、 它将复杂格式(如CF_HTML或CF_RTF)复制到剪贴板,但使用延迟渲染。因此,如果关闭时仍拥有剪贴板,它会觉得需要“解析”该数据。