【发布时间】:2021-09-28 20:02:02
【问题描述】:
我在 Delphi 10 中使用 OLE 访问 MSWord 时遇到了一个奇怪的情况。这些问题在不同用户之间不一致,我们在将项目从 XE 迁移到 10.3 后开始得到他们的报告。
我已将示例简化为最基本的级别:创建了一个新的 VCL 应用程序项目并使用以下代码在表单上放置一个按钮:
procedure TForm1.Button1Click(Sender: TObject);
var
W: OleVariant;
begin
W := CreateOleObject('Word.Application');
W.Quit;
W := Unassigned;
end;
它在我的计算机上运行良好,但在我同事的计算机上退出该过程后冻结了大约 一分钟,他的实际产品也存在性能问题。我们都在具有 Win10 x64 系统的功能强大的计算机上工作。
退出例行程序时出现如此长时间的停止可能是什么原因?任何想法如何避免它?
【问题讨论】:
-
不好意思打断一下,但是没有Delphi“XE 10”。最后是
Delphi XE 8,然后是 10.x 系列 startet,没有“XE”! -
如果您的同事在实际产品中也存在性能问题,这也是导致 Delphi 代码问题的原因。解决 Word 本身的问题是 Super User 的问题,因为它与编程无关。
标签: delphi ole delphi-10.3-rio