Вниз
Скачать: CL | DM;

Проблемы при динамическом создании WebBrowser. Помогите!   Найти похожие ветки 

 
Alex_DM ©   (2004-02-16 17:37) [0]

Проблема в следующем: если компонент WebBrowser положить на форму и создать процедуру реакции на событие OnDocumentComplete, то после выполения WebBrowser1.Navigate("file://"+strTemp) все работает как надо. А вот если создать динамичеки то событие не происходит!!! Почему???

При просмотре формы как текст обнаружил слудующую вещь:

object WebBrowser1: TWebBrowser
Left = 328
Top = 344
Width = 265
Height = 150
TabOrder = 5
OnDocumentComplete = WebBrowser1DocumentComplete
ControlData = {4C000000631B0000810F00000000000000000000000000000000000000000000 000000004C000000000000000000000001000000E0D057007335CF11AE690800 2B2E126208000000000000004C0000000114020000000000C000000000000046 8000000000000000000000000000000000000000000000000000000000000000
00000000000000000100000000000000000000000000000000000000}
end

Что такое ControlData ??? Может быть именно из-за этого???

Ниже привожу вырезки из программы для обоих случаев:

interface
...
type
TfrmParent = class(TForm)
...
WebBrowser1: TWebBrowser;
...
procedure WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
private
...
public
...
WebBrowser: TWebBrowser;
procedure WebBrowserDownloadComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
end;

var
frmParent: TfrmParent;

implementation

procedure TfrmParent.FormCreate(Sender: TObject);
var
i, j, Period: Word;
Ini: TIniFile;
strTemp: string;
hMutex : THandle;
begin
WebBrowser := TWebBrowser.Create(self);
WebBrowser.OnDocumentComplete := WebBrowserDocumentComplete;
end;

...
WebBrowser.Navigate("file://"+strTemp);
WebBrowser1.Navigate("file://"+strTemp);
...

// не срабатывает !!!!!!!!!!!!!!!!!
procedure TfrmParent.WebBrowserDownloadComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
var
pvaIn, pvaOut: OLEVariant;
IT: IOleCommandTarget;
begin
if Printer <> nil
then begin
pvaIn := Unassigned;
pvaOut := Unassigned;
IT := WebBrowser.ControlInterface as IOleCommandTarget;
OleCheck(IT.Exec(nil, OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, pvaIn, pvaOut));
end;
end;

// срабатывает!!!!!!!!!!!!!!!!!
procedure TfrmParent.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
pvaIn, pvaOut: OLEVariant;
IT: IOleCommandTarget;
begin
if Printer <> nil
then begin
pvaIn := Unassigned;
pvaOut := Unassigned;
IT := WebBrowser1.ControlInterface as IOleCommandTarget;
OleCheck(IT.Exec(nil, OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, pvaIn, pvaOut));
end;
end;


 
Alex_DM ©   (2004-02-17 09:14) [1]

Уважаемые мастера, откликнитесь!


 
Vasek   (2004-02-17 12:51) [2]

Вопрос остается открытым...


 
Vasek   (2004-02-17 16:14) [3]

???



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
3-93800
Ш-К
2004-02-03 15:19
2004.02.29
Master / Detail


1-93988
Настенька
2004-02-17 08:43
2004.02.29
edit


1-93955
Anton
2004-02-17 11:46
2004.02.29
Как загрузить и сохранить значения переменных из файла в файл?


6-94089
Silentor
2003-12-24 20:45
2004.02.29
Загрузка ресурсов: blocking vs nonblocking


1-93908
Вова
2004-02-15 19:22
2004.02.29
exe Файл




   Наверх