Почему я получаю нарушение прав доступа при установке значения 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
,