|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.08.2013, 23:16 | #1 |
Регистрация: 24.06.2011
Сообщений: 4
|
Обработчик события динамического TWebBrowser
Суть проблемы: по нажатию клавиши Enter в ComboBox создаётся динамический экземпляр TTabControl и в него помещается динамически же экземпляр TWebBrowser (попросту создаётся новая вкладка интернет-браузера), ему в качестве адреса страницы для навигации передаётся текст, введённый в этом самом ComboBox. Необходимо чтобы в названии вкладки отображался адрес загруженной страницы, но в корректной форме, т.е. вместо введённого "google.ru" должно отображаться "https://www.google.ru/".
Как я понимаю, этот адрес можно получить из самого TWebBrowser через свойство LocationURL, по событию OnNavigateComplite2. Но как осуществить этот процесс для несуществующего в момент запуска TWebBrowser? Нужно как-то в явной форме прописать обработчик события OnNavigateComplite2 для динамически созданного TWebBrowser, так чтобы, после создания вкладки браузера и загрузки страницы, адрес самой страницы передавался в контейнер Код:
Буду благодарен за разъяснения или хотя бы примеры кода, где это реализовано, пусть и не для моего примера (код создания обработчика события, который получает свойство динамического объекта при действии с этим объектом). P.S. Тему пошарил, точного ответа не нашёл, пару раз нарывался на подобные посты в которых ТС находил решение, но увы не сообщал как. Поэтому прошу не ругать, если всё же не нашёл готовый ответ на свой вопрос, весь интернет не перекопать, а вот если кто-то сталкивался с таким, то совет даст стократ быстрее. =) P.P.S. Среда - Embarcadero Delphi XE4. Уровень владения программированием - любительский, то есть понимаю что делаю, но без заумных определений (например не знаю толком что такое "инкапсуляция" или "наследование классов", но вполне уже мог их применять на практике). Как следствие, неадаптированные статьи из книг для профессионалов могу не понять (но код разберу). Заранее благодарен за конструктивные ответы или ссылки на необходимые ресурсы. |
29.08.2013, 00:08 | #2 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Странно, с браузером разобрался, а создать вручную обработчик в своей форме и программно присвоить экземпляру браузера не догадался. Нечто похожее, по всей видимости, описывается здесь (Google заботливо предложил исправить OnNavigateComplite2 на OnNavigateComplete2).
События -- по сути самые обыкновенные методы, их можно создавать в любом количестве где нужно и присваивать обычным присвоением. Если порядок и тип параметров вдруг не совпадет, компилятор заругается.
В разработке: воспроизводственный контур ИТ
|
29.08.2013, 21:14 | #3 | |||
Регистрация: 24.06.2011
Сообщений: 4
|
Цитата:
Цитата:
Код:
Код:
Задал все необходимые переменные. TS и WB - динамически создаваемые TTabSheet и Подконтрольный ему TWebBrowser) Код:
Ниже фрагмент кода, в котором процедура перехода на введённый адрес по энтеру в комбобоксе. Код:
Здесь, ниже, процедура создания пустой вкладки при создании формы (чтобы на первых порах избежать ошибки, когда адрес введён, а передавать его некому. После приведу всё в божеский вид, уберу сотни строк излишнего и неорганизованного кода) Код:
Цитата:
|
|||
29.08.2013, 21:49 | #4 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,834
|
Не вижу присвоения:
Код:
В разработке: воспроизводственный контур ИТ
|
29.08.2013, 21:50 | #5 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
При создании WB присвойте ему обработчик
Код:
|
29.08.2013, 22:21 | #6 | |
Регистрация: 24.06.2011
Сообщений: 4
|
Цитата:
Извините за, быть может, совсем уж глупый вопрос, но в какой части кода необходимо присвоить обработчик события? Сразу за строкой Код:
(В этом случае выдаёт ошибку: Project WebBrowser.exe raised exception class $C0000005 with message 'c0000005 ACESS_VIOLATION'. После чего я вижу перед глазами окно с заголовком CPU и кодом ассемблера...) Я в отпуске, и тут под рукой не оказалось учебника по Delphi, чтобы на досуге полистать книгу, так что вы уж не серчайте. =) |
|
30.08.2013, 00:49 | #7 | ||
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,894
|
Цитата:
Цитата:
|
||
30.08.2013, 22:01 | #8 |
Новичок
Джуниор
Регистрация: 30.08.2013
Сообщений: 1
|
Кто нить пробовал свой браузер с минимумом функционала писать? отпишитесь о успехах.. Пишу но туго идет(
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработчик события | nanom1t | C++ Builder | 1 | 15.04.2013 01:02 |
обработчик события | Rymbil | C# (си шарп) | 8 | 29.10.2012 21:25 |
Обработчик события | BodyZ | C# (си шарп) | 0 | 24.10.2012 18:17 |
С# Обработчик события | yulshaz | Помощь студентам | 7 | 24.09.2012 08:12 |
Обработчик события | yardie | Общие вопросы .NET | 3 | 26.03.2011 18:30 |