![]() |
[Delphi] Как вывести диалог из компонента?
Всем доброго времени суток! Вопрос такой. Как вывести диалог из компонента, причем вывести так, что выполнение дальнейшего кода продолжится, пока не закроешь диалог? Диалог примерно такой:
http://savepic.ru/1142670.jpg |
ShowModal или что-то в таком духе. Дельфи почти забыл. Для форм был такой метод.
|
как то не очень то хотелось бы пихать модуль Forms в компоент. Диалог должен состоять из панели.
|
WinAPI?
Панель то ты куда-то должен поместить |
а будет ли грамотно, если в компоненте будет такой код:
Код:
uses frmDialogs; |
Не хочешь подключать формс к своему классу - просто создай событие у своего компонента типа TidVKClient.OnCatcha. В обработчик этого события передавай stream с пикчей, а тот кто будет использовать твой компонент извне - будет обрабатывать событие, например либо капчу показать в модальном окне, либо отправить на антигейт и т.п.
|
так ведь надо же еще выполнение код приостановить как то о_О
|
ShowModal в данном случае будет нормально.
|
так и сделал)) помог следующий код:
Код:
// ---- Вывод диалога ввода кода капчи ---- |
Цитата:
P.S. Если уж делаешь компонент, то делай универсальнее и более гибкий код. Кстати вышеуказаный код должен быть в таким;) Код:
// ---- Вывод диалога ввода кода капчи ---- |
Jingo Bo, немножечко ошибаешься. RedFern.89 не использует Indy, для работы с инетом, а работает с помощью своих функций.
Так что ему виднее, будет ли exception, или нет. |
Chrome~ при чем здесь инди :confused: ?
Цитата:
|
Цитата:
Блок Код:
try |
Имхо наоборот, ты ничего не понял
Вот что пишет Джинго Бо: Цитата:
Цитата:
|
Сорри, сглупил. Не дочитал код и не обратил внимание.
|
Метод GET я сделал на winapi))) эксепшенов быть не должно))) всем спасибо за помощь))
Jingo Bo, как сделать такую панель? можно какнить кодом показать?))) буду очень благодарен)) |
Я try-finally поставил из-за того что при загрузке jpg может вылезть exception, а растянул до get потому что не знал может она создать exception или нет.
По поводу кода могу сказать вот что. Создаёшь в какой нить програмке для ресурсов диалог, сохраняешь в rc-файл. Потом берешь прогу из набора delphi - BRCC32.EXE(находится там же где и exe delphi). В командной строке прописываешь : <путь к BRCC32> <путь к твоему RC файлу> Прога тебе выдаст файл ресурсов для delphi. Кидаешь в свой проект, подключаешь в исходниках {$R твой тот файл.res} И делаешь как в статье http://www.delphisources.ru/pages/faq/base/write_win32api_apps.html Кода получится не много и без forms:) Хотя смысла его не использовать я не вижу, т.к. юзаться код полюбому будет с vcl-формами. |
| Время: 00:28 |