Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

Как сделать так, чтобы страничка открывалась в новом окне ИЕ,   Найти похожие ветки 

 
Кен ©   (2003-07-25 01:49) [0]

а не в уже открытом ?
Открываю страничку ИЕ командой
ShellExecute(0, nil, " http://ya.ru", nil, nil, SW_SHOWNORMAL);
И почему то страничка грузится не в новом окне ИЕ, а в одном из уже открытых.


 
Ihor Osov'yak ©   (2003-07-25 01:57) [1]


...
uses SHDocVw,
...

var
iWB: IWebBrowser2;
ov: OleVariant;
...
iWB := CreateOleObject("InternetExplorer.Application.1") as IWebBrowser2;
if not assigned(iWB) then exit;

iWB.Set_Visible(TRUE);

ov:="www.microsoft.com";
iWB.Navigate2(ov,emptyparam,emptyparam,emptyparam,emptyparam);


Зы - не забудь CoInitialize, если оно нигде не делалось..


 
Кен ©   (2003-07-25 02:16) [2]

> Ihor Osov"yak © (25.07.03 01:57)
> Зы - не забудь CoInitialize, если оно нигде не делалось..

Не делалось. А как его не забыть ?

Вообще ужас какой то. Вместо одной короткой строчки, пол страницы кода. Нельзя ли как нибудь это попроще всё ?


 
Ihor Osov'yak ©   (2003-07-25 02:59) [3]

> Не делалось. А как его не забыть ?

Лишний вызов - не помеха. Лишь бы не забыть сделать парный CoUninitialize, проще всего в секции инициализации, деинициализации какого-то модуля:

initialization
CoInitialize(nil);
finalization
CoUninitialize;

Зачем это? Чтобы COM нормально работал. некоторые делфийские модули это уже делают, так что вполне вероятео, что ты раньше не делал этого при работе с ком. Нужно ли сейчас - не знаю. Но лишняя пара вызовов помехой не будет. Если же до вызова CreateOleObject не будет сделано CoUninitialize - получишь ошибку времени исполнения..

> Вообще ужас какой то. Вместо одной короткой строчки, пол страницы кода.

И это пол-страницы кода? Наивный молодой человек..
Ну а с приводу ужаса - найди решение коротше. Я думаю, оно есть. Можешь поискать в паправлении командных ключей IE и юзать далее CreateProcess..
Я лишь дал то решение, которое было под рукой.. И основная цнль там была не запуск отдельной инстанции IE (что оно и делает), а получение в руки
IWebBrowser2. Но тебе действительно может оптимальнее CreateProcess + ключи командной строки IE..



 
Бархатный   (2003-07-25 06:51) [4]


> Кен © (25.07.03 01:49)
> а не в уже открытом ?
> Открываю страничку ИЕ командой
> ShellExecute(0, nil, " http://ya.ru", nil, nil, SW_SHOWNORMAL);
> И почему то страничка грузится не в новом окне ИЕ, а в одном
> из уже открытых.


Попробуй WinExec"ом. У меня тоже такая проблема была, кажись WinExec"ом решил.


 
Suntechnic ©   (2003-07-25 07:38) [5]

>Кен ©
Выбирай
1)
uses URLMon;
HlinkNavigateString(nil, " http://ya.ru");

2)
ShellExecute(0,"open","IExplore.exe","-new http://ya.ru",nil,SW_SHOWNORMAL);



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.021 c
1-33201
Nucl
2003-07-28 17:09
2003.08.11
Что выполняется быстрее ?


3-33070
M126
2003-07-18 08:41
2003.08.11
Копирование из одной базы в другую


3-33077
Spawn
2003-07-17 19:27
2003.08.11
Сортировка


1-33105
lord
2003-07-29 01:49
2003.08.11
чтение реестра


1-33095
Alex-21
2003-07-28 21:30
2003.08.11
Два окна