gpt4 book ai didi

delphi - Delphi 7 使用 DOM 时发生访问冲突错误

转载 作者:行者123 更新时间:2023-12-03 00:16:44 25 4
gpt4 key购买 nike

我正在构建一个软件来处理网站上的订单。我正在使用 DOM 浏览网站,并且希望当我在“错误”页面上使用命令时我的应用程序不会挂起。

例如:

try
WebBrowser.OleObject.Document.GetElementByID('ContentPlaceHolder1_txtCommande').setAttribute('value', lblDate.Caption);
except
end;

我想要的只是如果未找到该字段,则忽略该错误,因为该错误并不重要。谢谢!

编辑:当我指的是 DOM 时写了 ADO

最佳答案

你自己说可能找不到该元素,那么你期望什么

WebBrowser.OleObject.Document.GetElementByID('ContentPlaceHolder1_txtCommande')

在这种情况下返回除nil以外的内容?然而,您“公然”使用通过附加

返回的任何内容
.setAttribute('value', lblDate.Caption);

到它。

将代码更改为

var
element: IDomElement; // Whatever it should really be
begin
element := WebBrowser.OleObject.Document.GetElementByID('ContentPlaceHolder1_txtCommande');
if Assigned(element) then
element.setAttribute('value', lblDate.Caption);

编辑

如果您正在使用变体,而不是通过其类型库或其他一些 xml 库(您可以在其中找到 GetElementID 返回的正确类型)使用 msxml,那么,正如 @GerryColl 提到的,您可以使用 element: OLEVariant 并检查 NULL 而不是 nil 指针。

关于delphi - Delphi 7 使用 DOM 时发生访问冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11026884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com