Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Проблема с WebBrowser


Автор: aktuba 25.4.2006, 20:23
Кладу на форму WebBrowser, пишу следующий код:

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MSHTML, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Disp: IDispatch;
  Editor: IHTMLDocument2;

implementation

{$R *.dfm}

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurrentWB: IWebBrowser;
  Editor: IHTMLDocument2;
begin
  Disp:=pDisp;
end;


procedure TForm1.FormCreate(Sender: TObject);
var
  CurrentWB: IWebBrowser;
begin
  WebBrowser1.Navigate('about:<html><body></body></html>');
  CurrentWB := Disp as IWebBrowser;
  [B]editor:=(CurrentWB.Document as IHTMLDocument2);[/B]
  editor.DesignMode := 'On';
end;


end.



В выделенной строке происходит ошибка. Что не так? 

Автор: Тьма 25.4.2006, 21:02
какая именно ошибка? может тебе просто надо сделать так гдето перед этой строкой:

Код

editor := IHTMLDocument2.create
 

Автор: aktuba 25.4.2006, 21:05
нет, нашел решение на этом форуме, просматривая похожие проблемы:

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, MSHTML, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Disp: IDispatch;
  Editor: IHTMLDocument2;

implementation

{$R *.dfm}

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
  CurrentWB: IWebBrowser;
  Editor: IHTMLDocument2;
begin
  Disp:=pDisp;
  While WebBrowser1.ReadyState<READYSTATE_INTERACTIVE Do Application.ProcessMessages;
  CurrentWB := Disp as IWebBrowser;
  editor:=(CurrentWB.Document as IHTMLDocument2);
  editor.DesignMode := 'On';
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Navigate('about:<html><body></body></html>');
end;


end.
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)