Вниз
Скачать: 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.041 c
4-94251
Невозмутимый
2003-12-23 15:43
2004.02.29
НООК? !


1-93958
Alex_DM
2004-02-16 17:37
2004.02.29
Проблемы при динамическом создании WebBrowser. Помогите!


1-93840
neteditor
2004-02-16 16:44
2004.02.29
TXMLDocument и русские буквы


14-94189
_none_
2004-02-05 15:41
2004.02.29
лучше боулинг -)


6-94061
alexEagle
2003-12-24 14:23
2004.02.29
Почему Socket.Close прибивает данные по Socket.Data




   Наверх