2

次のエラーが表示されます。

モジュール「project1.exe」のアドレス 0050AA07 でアクセス違反が発生しました。アドレス 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;
4

1 に答える 1

2

これは、に設定されているポインターを逆参照してnilおり、この不正な行為を試みているコードが$0050AA07プロセス内にあることを意味します。

これで解決できない場合は、ポインターが に設定されている理由を示すことができるコードを示してくださいnil

于 2011-02-13T12:29:22.483 に答える