delphi - 为什么在设置 IHTMLInputTextElement 的值时会出现访问冲突?

标签 delphi access-violation ihtmldocument2

我收到以下错误:

Access Violation at address 0050AA07 in module "project1.exe". Read of address 00000000.



我正在尝试在 TWebBrowser 中自动填写表格。它只是表单上称为“登录”的字段。

这是什么意思?我该如何解决?
procedure TForm1.Button2Click(Sender: TObject);
var
  doc: IHTMLDocument2;
  frm: IHTMLFormElement;
  fld: IHTMLInputTextElement;
begin
  doc := webbrowser1.Document as IHTMLDocument2;
  frm := doc.forms.item(0, EmptyParam) as IHTMLFormElement;
  fld := frm.item('login', EmptyParam) as IHTMLInputTextElement;
  fld.value := 'someone';
end;

最佳答案

这意味着您正在取消引用设置为 nil 的指针。并且试图进行这种非法行为的代码位于 $0050AA07在你的过程中。

如果您无法从中解决问题,那么如果向我们展示代码,我们可以告诉您为什么您的指针设置为 nil .

关于delphi - 为什么在设置 IHTMLInputTextElement 的值时会出现访问冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984116/

相关文章:

c++ - 如何以编程方式从 IHTMLDocument 获取 documentMode?

internet-explorer - 使用 execScript 时为 "specified cast not valid"

delphi - 如何在自定义样式所有者绘制 TComboBox 中检测 ODS_COMBOBOXEDIT

windows - 我可以确定我的单元的初始化顺序吗?

c++ - 访问冲突读取数组元素

C++ - 调用 std::vector 的 .clear() 时发生访问冲突

delphi - 如何自定义绘制 TEdit 控件文本?

delphi - 为什么我们要使用最终确定单位?

c++ - 虚拟析构函数导致访问冲突

delphi - IHTMLStyleSheetRulesCollection 样式标签(内联样式)