【问题标题】:Webrowser1 in a Procedure Delphi6过程 Delphi 6 中的 Webbrowser1
【发布时间】:2016-08-08 08:47:27
【问题描述】:

当我从 Button OnClick 事件调用 WebBrowser1.Navigate('www.google.com'); 时,例如:

procedure TForm4.Button1Click(Sender:TObject);
begin
  WebBrowser1.Navigate('www.google.com');
end;

网页显示在WebBrowswer1

但是,如果我自己制作程序,例如:

procedure MyProcedure;
var 
  WebBrowser1:TWebBrowser;
begin
  WebBrowser1.Navigate('www.google.com'); 
end;

然后尝试从 Button OnClick 事件调用此过程,我收到访问冲突错误。

只是想知道,为什么Delphi为我编写程序时它可以工作,但我自己编写程序时它不起作用?我该如何纠正这个问题,或者我必须在程序中编写什么代码才能使其正常工作?

【问题讨论】:

  • 谢谢雷米勒博。

标签: delphi twebbrowser delphi-6


【解决方案1】:

在第一个摘录中,您已将TWebBrowser 控件添加到 IDE 设计器中的表单。因此,VCL 框架会为您实例化控件。使其成为表单的子控件,并应用所有需要的步骤来使控件正常运行。

在第二个摘录中,设计器中没有添加表单,也没有添加控件。你声明了一个局部变量WebBrowser1,你没有初始化它。没有创建浏览器控件,任何使用未初始化变量WebBrowser1 的尝试都会导致未定义的行为。运行时错误几乎是不可避免的。

如果您想更正此问题,您需要实例化 TWebBrowser 控件的实例,适当地设置其父级,并执行 VCL 为您执行的所有其他步骤。

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    相关资源
    最近更新 更多