Вниз
Скачать: 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.46 MB
Время: 0.019 c
14-94173
syte_ser78
2004-02-10 12:07
2004.02.29
Снукер


7-94208
sergio_serg
2003-12-08 15:55
2004.02.29
Дайте пожалуйста линки на компоненты работающие с com-портами


3-93796
Piter
2004-02-01 21:05
2004.02.29
Выбор базы данных


7-94206
KF111
2003-12-10 11:13
2004.02.29
Как под NT/Win2K узнать имя текущего пользователя?


14-94148
Knight
2004-02-04 23:41
2004.02.29
Есть ли место 486-му в современной локалке?




   Наверх