![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
razumsap |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.12.2007 Репутация: нет Всего: нет |
Привет всем. Вопрос может и глупый но я чёт с ним уже долго борюсь.
Написал программу с использованием встроенного webbrowser-а, когда грзится страничка в нём кнопка закрыть не работает может из-за этого куска - полной загрузки странички
и всё же как программно прервать и корректно выйти из программы. |
|||
|
||||
kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 2 Всего: 160 |
Интересно конечно, что такое
-------------------- |
||||||
|
|||||||
Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
тебе надо выйти из цикла? break, exit
-------------------- ![]() |
|||
|
||||
aalexstorm |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 10.3.2008 Репутация: нет Всего: нет |
if условие then break - завершение цикла.
Application.Terminate - завершение приложения. |
|||
|
||||
Serjone |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 28.5.2007 Репутация: нет Всего: нет |
у меня возможно подобная проблема. Использую indy, при отправке запроса на php страницу при отключенном интернете, программа перестает закрываться стандартными методами, приходится юзать halt для аварийного завершения.
|
|||
|
||||
razumsap |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.12.2007 Репутация: нет Всего: нет |
Пивет, может я не праильно выразился, но дело происходит так
Запускается сайт дожидается полная загрузка странички вот такой процедурой
и чтоб программа дожидалась полной загрузки сайта стоит условие while pg <> k do Application.ProcessMessages; (K-тожпеременная типа intrger) Дело в том что прога работает правильно, но от начала и ло конца, а вот я не могу её прервать во время её работы (остановить выполнение действий самого браузера, он продолжает работать дальше) Я даж прикрепил кноку и обработчик по её остановке (как мне посоветовали выше)
но ничего не происходит прога работает дальше, что делать? как её тормознуть (прогу или скорее правильно сказать работу WebBrowsera) |
||||
|
|||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 9 Всего: 95 |
Имхо надо выкинуть это и будет тебе щастье... Обработчик WebBrowser1DocumentComplete вызывется только когда документ загружен, поэтому тебе надо не его прерывать, а работу WebBrowser'a, что и делается командой Stop... -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
razumsap |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.12.2007 Репутация: нет Всего: нет |
Привет. Сделал как ты и сказал, но вот проблема, после выполнения ниже идущего кода webbrowser1.Stop; Application.Terminate; прога возвращается в предыдущюю процедуру где опятьь таки выполняется код while pg <> k do Application.ProcessMessages; почему webbrowser1.Stop; не остановил весь процесс, не пойму? |
|||
|
||||
MadCoder |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 24.8.2007 Где: Москва Репутация: нет Всего: 2 |
А если так написать:
А на выключение проги написать:
|
||||||||||
|
|||||||||||
razumsap |
|
||||||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.12.2007 Репутация: нет Всего: нет |
Вот нарыл помогло, кстате тут на форуме ![]() TerminateProcess( GetCurrentProcess, 0 ); |
||||||||||||
|
|||||||||||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
razumsap, ну если нужно жестоко убить, то проще всего Halt
![]() -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
razumsap |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 13.12.2007 Репутация: нет Всего: нет |
Жестоко не надо, но вот это деяние Application.ProcessMessages; в цикле while pg <> k do Application.ProcessMessages; не дает ничего сделать енто не подошло - согласен ![]() TerminateProcess( GetCurrentProcess, 0 ); написал так
но работа браузера останавливается, если не выполняется вы шеуказанный цикл. Вобщем фигня, пока забросил эту часть ![]() |
||||
|
|||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Application.Terminate; выполняет всего навсего PostQuitMessage(0);
Т.е. пока не будет обработано сообщение ничего закроется. Чтобы убить webbrowser1, можно попробовать освободить интерфейс COM объекта, после чего, если ссылок не осталось можно смело все уничтожать. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
imageman |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 30.9.2004 Репутация: нет Всего: 1 |
PS.
а
не грузит намертво процессор? может лучше так while pg <> k do begin Application.ProcessMessages; sleep(50); end; только мне не нравятся такие комбинации. Может лучше таймер поставить с периодичностью 100 мсек? |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
вообще без нужды и осознанности применение ProcessMessages - зло! )
-------------------- There are always someone smarter than you... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |