2011-02-13 57 views
2

我得到以下错误:为什么在设置IHTMLInputTextElement的值时会出现访问冲突?

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; 

回答

2

这意味着你解引用被设置为nil指针和尝试这种非法行为在你的进程位于$0050AA07代码。

如果你不能解决这个问题,那么如果向我们展示代码,我们可以告诉你为什么你的指针设置为nil

+0

@David Heffernan - 我添加了代码 – dave123 2011-02-13 12:34:13

相关问题