Форум: "Основная";
Текущий архив: 2004.02.29;
Скачать: [xml.tar.bz2];
ВнизПроблемы при динамическом создании 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c