Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: 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 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-93791
Zilog
2004-02-03 16:01
2004.02.29
Как создать таблицу, с полем автоинкрмента??


14-94102
VAleksey
2004-02-09 16:32
2004.02.29
Запреты.


1-93949
Grihan
2004-02-17 17:53
2004.02.29
ModalResult


14-94093
able
2004-02-06 20:02
2004.02.29
PHP Host


4-94238
Eagle Owl
2003-12-16 22:24
2004.02.29
Сжатие файла...