Почему я получаю нарушение прав доступа при установке значения IHTMLInputTextElement? - PullRequest
2 голосов
/ 13 февраля 2011

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

Нарушение прав доступа по адресу 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 Ответ

2 голосов
/ 13 февраля 2011

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

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

...