Почему я получаю нарушение прав доступа при установке значения IHTMLInputTextElement?

Я получаю следующую ошибку:

Доступ к нарушению по адресу 0050AA07 в модуле "project1.exe". Чтение адреса 00000000.

Я пытаюсь автоматически заполнить форму в TWebBrowser. Это просто поле с именем 'login' в форме.

Что это значит? Как мне это решить?

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;

1 ответ

Решение

Это означает, что вы разыменовываете указатель, который установлен в nil и код, который пытается это незаконное действие находится по адресу $0050AA07 в вашем процессе.

Если вы не можете решить это из этого, то, если бы показали нам код, мы могли бы сказать вам, почему ваш указатель установлен на nil,

Другие вопросы по тегам