-
Вобщем поделитесь знаниями как зделать так чтобы при возникновении события в ie например ondownloadcomplete
в моей программе выскакивало сообщение к примеру?
while ie.ReadyState<>READYSTATE_COMPLETE do не предлагать! есть ли вариант с использование iconnectionpoint?
читаю просто читаю но понять немогу ниче может поможет кто?
Спасибо!
-
> как зделать так чтобы при возникновении события в ie например
> ondownloadcomplete
> в моей программе выскакивало сообщение к примеру?
Прямо так и сделать - в обработчике события OnDownloadComplete вывести то самое сообщение:
MessageBox(0, 'К примеру', '', MB_OK or MB_SETFOREGROUND);
-
НЕзнаю я впринципе в етом неочень понимаю может чето невижу но спрошу еще раз! Итак ЕСТЬ ОТКРЫТЫЙ IE который я открыл WB:=CoInternetExplorer.Create;
WB.Visible:=True;
WB.Navigate('url'); вот после етого после того как он пошел по ссылке мне нужно чтобы он отмаячил мне что загрузка закончена расскажите как мне ето написать wb.ondownloadcomplete? ну дак нет такого метода. Добавить на форму webbrowser и через него уже както работать? вот если так то как конкретно напишите плиз!
-
> Добавить на форму webbrowser и через него уже както работать?
Это будет самым простым вариантом, если использование именно IE (как автономного приложения для навигации и отображения ее результатов) не принципиально.
Ну а если все же принципиально, то:
TMyForm = class(TForm)
..
procedure DoComplete(Sender: TObject);
..
end;
..
procedure TMyForm.DoComplete(Sender: TObject);
begin
ShowMessage('Отмаячил !');
end;
var
IE: TInternetExplorer;
procedure TMyForm.Button1Click(Sender: TObject);
begin
..
IE.OnDownloadComplete := DoComplete;
IE.Navigate('url');
..
end;
-
Thanks!
-
Еще такой вопрос а если допустим я подключился к уже открытому браузеру:
var
Okno: IShellWindows;
Brawser: IWebBrowser2;
i:integer;
Doc: IHtmlDocument2;
begin
Okno:=CoShellWindows.Create;
for i:=0 to Okno.Count-1 do
if (Okno.Item(i) as IWEbBrowser2).Document<>nil then
begin
Brawser:= Okno.Item(i)as IWebBrowser2;
вот как в етом случае подключиться к ondownloadcomplete?
-
IE.ConnectTo(Brawser)
Все остальное точно так же как в [3]
-
Невыходит ничего. Вобщем кинул на форму 2 кнопки (код всей проги приведу ниже) по нажатию на первую подключаюсь к открытому ie по нажатию на вторую присоединяюсь к brawser (тут никаких ошибок, счас попробую попроверять есть там значение какоето в ie или нет) а на ie.GoBack; выдает ошибку EAccessViolation: Access violation at address 004593ba in module project1.exe read of address 00000000
kod:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, mshtml, ShDocVw;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure DoComplete(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
IE: TInternetExplorer;
Okno: IShellWindows;
Brawser: IWebBrowser2;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.DoComplete(Sender: TObject);
begin
ShowMessage('ghjgh');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Okno:=CoShellWindows.Create;
for i:=0 to Okno.Count-1 do
if (Okno.Item(i) as IWEbBrowser2).Document<>nil then
begin
Brawser:= Okno.Item(i)as IWebBrowser2;
if Brawser.LocationName='Go go go:' then break;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
ie.ConnectTo(Brawser);
ie.GoBack;
end;
end.
-
а нет ошибка выскакивает именно на ie.ConnectTo(Brawser);
-
Какието предложения есть у когото как можно зделать?
-
Не вижу создания объекта TInternetExplorer ..
-
Сергей М. - spasibo ogromnoe! rabotaet! yra blin!
ie:=TInternetExplorer.create(self);
ie.ConnectTo(Brawser);
ie.GoBack;