Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » [решено] Как обратиться к дочернему окну webbrowser'а?

Ответить
Настройки темы
[решено] Как обратиться к дочернему окну webbrowser'а?

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


У меня такой вопрос:
На форме находится компонент Webbrowser. В него загружается страница. Потом, в ходе обработки открывается ещё одна форма таким образом:

Flags:=1;
Webbrowser1.Navigate2(_URl,Flags,TargetFrameName,Postdata,Headers);

А в соответствующем событии OnNewWindow2 стоит следующее:

NewWindow := TForm1.Create(self);
NewWindow.Show;
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;

Как мне обратиться ко второму открывающемуся окну?
Form1.MdiChildren(i) и Form1.Webbrowser1.MdiChildren(i) не работают.

Отправлено: 03:05, 08-08-2006

 

Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


а через NewWindow?

Отправлено: 10:46, 08-08-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, к первому открывающемуся так окну через NewWindow, а ко второму?
То есть 1-е NewWindow. а второе как бы NewWindow[1], только как это правильно?

Отправлено: 10:58, 08-08-2006 | #3


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


progbeg
между прочим есть специально для таких вопросов раздел "Вебмастеру"

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 11:09, 08-08-2006 | #4


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Vlad Drakula
причем здесь раздел "Вебмастеру"?
вопрос то по Делфи....


Возможно глупость скажу.... А если из основного окна программы попоробовать NewWindow.NewWindow?

Отправлено: 11:26, 08-08-2006 | #5


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нет, это же всё-таки самостоятельное окно. Delphi пишет о неизвестном идентификаторе.

Отправлено: 11:31, 08-08-2006 | #6


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Так решено или нет?
Можно, как вариант, создать глобальный динамический массив окон:
Код: Выделить весь код
   arrWins: array of TForm1;
тогда обработчик onNewWindow2 примет примерно следующий вид:
Код: Выделить весь код
   SetLength(arrWins, Length(arrWins)+1);
   arrWins[Length(arrWins)-1] := TForm1.Create(self);
   arrWins[Length(arrWins)-1].Show;
Конструкция
Код: Выделить весь код
ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
примет примерно следующий вид
Код: Выделить весь код
ppDisp := arrWins[someWinIndex].Webbrowser1.DefaultDispatch;
P.S. Имхо, это в самом деле вопросы прикладного программинга...

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 11:47, 08-08-2006 | #7


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я попробую, но всё-таки хотелось бы прямо обращаться к окну....

Отправлено: 12:01, 08-08-2006 | #8


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


А чем не прямо? Массив окон, это тоже самое, что и свойство MDIChildren TForm, однако там прямо, а тут - нет .
Цитата:
property MDIChildren[I: Integer]: TForm;

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 12:08, 08-08-2006 | #9


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Просто у меня такая ситуация, что у меня только два этих окна и будет. К одному я же могу обращаться, а ко второму через массив.... Не рационально...

Отправлено: 12:13, 08-08-2006 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » [решено] Как обратиться к дочернему окну webbrowser'а?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Драйвер - [решено] Звука просто нет. Уже не знаю куда обратиться( GladiModder Microsoft Windows 2000/XP 6 26-10-2009 13:04
[решено] Запретить всплывающему окну сворачивать рабочее приложение. FlatX007 AutoIt 2 25-05-2009 00:03
Ошибка - не обратиться к HDD mike89 Лечение систем от вредоносных программ 11 22-03-2008 22:00
Как из программы, запущенной как сервис, обратиться к CD? ES Microsoft Windows NT/2000/2003 6 16-02-2007 11:42
Delphi - Delphi Memo и WebBrowser kosha Программирование и базы данных 1 13-04-2003 22:45




 
Переход