//新建个工程,
//将以下代码粘贴在你新建的Form代码里。implementation
  uses MSHTML, shdocvw, OleCtrls;
{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
  wb: TWebBrowser;
begin
  wb:= TWebBrowser.Create(Self);
  try
  wb.visible:= true;
  wb.Align:= alClient;
  //wb.Parent:= Self;  这里出语法错误!!!
  //wb.Navigate('www.163.com');
  ShowMessage('窗口上显示出来了吗?');
  finally
    wb.Free;
  end;
end;end.
我爱Delphi!

解决方案 »

  1.   

    而且你按钮事件结束的时候你也把这个控件给释放了呀!
    finally
        wb.Free;//这里了
      end;
      

  2.   

    管它是不是只读属性,我现在只想将WebBrowser在窗口上动态创建并显示出来,
    我的WebBrowser根本不显示在窗口上,点Button1后根本没任何反映!!!!!
      

  3.   

    implementation
      uses MSHTML, shdocvw, OleCtrls;
    {$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
    var
      wb: TWebBrowser;
    begin
      wb:= TWebBrowser.Create(Self);
      try
      wb.visible:= true;
      wb.Align:= alClient;
      //wb.Parent:= Self;  这里出语法错误!!!//  改成这样
       Twincontrol(wb).Parent := Self;  //wb.Navigate('www.163.com');
      ShowMessage('窗口上显示出来了吗?');
      finally
        wb.Free;
      end;
    end;end.
      

  4.   

    建议:新建一个工程,另外创建一个FORM,布置一个WEBBROWSER控件和一个按钮,按钮用来释放带WEBBROWSER的窗体,代码如下:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons;type
      TForm1 = class(TForm)
        Button1: TButton;
        GroupBox1: TGroupBox;
        BitBtn1: TBitBtn;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
    implementation{$R *.dfm}
    uses unit2;procedure TForm1.Button1Click(Sender: TObject);
    var
      newform:Tform2;
    begin
      newform:=Tform2.Create(application);
      newform.Show;
    end;end.
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw, StdCtrls;type
      TForm2 = class(TForm)
        WebBrowser1: TWebBrowser;
        GroupBox1: TGroupBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}
    uses unit1;procedure TForm2.Button1Click(Sender: TObject);
    begin
      //form2.Free;
      self.Destroy;
      form1.show;
    end;end.经过测试,没有内存泄漏,其他效果你可以自行改进。
      

  5.   

    哈哈,显示出来了!!!:)果然“笑三少”说的对!
    那么以下代码有设么区别:
     Twincontrol(wb).Parent := Self;
     (wb as Twincontrol).Parent := Self;什么情况下强制转换,什么情况下用as??