Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > Вызов процедуры на форме из потока |
Автор: KAnAn 24.7.2009, 08:36 | ||
Доброе время суток. Delphi 7.0 При нажатии кнопки заряжается поток который на сервере крутит долгоиграющий запрос, (при этом все компоненты формы типа кнопок делаю неактивными, чтобы не смущать пользователя). В потоке все как обычно, но после отработки нужно активизировать компоненты которым Enabled делал False. Скорей всего выход в создании на форме процедуры (без параметров) которая при вызове должна пройти по компонентам формы которые блокированы и активизировать их, но как это сделать из потока ? Т.е. нужно каким-то образом передать процедуру в поток, а затем нужно в классе потока, реализовать возможность вызова процедуры на форме:
Выручайте (по возможности с примером). Спасибо. |
Автор: CodeMonkey 24.7.2009, 10:07 | ||||
Если только одну процедуру и только при завершении потока, то можно так:
Если хотите передавать явно, то:
Но если действий много, то замучаетесь. Проще всего - передавать саму форму (как TForm или TForm1) в поток (в примере выше замените TMakeActionProc на TForm). Как более красивый вариант последнего способа - передавать в поток интерфейс, реализуемый формой. Добавлено через 1 минуту и 6 секунд И почитайте ещё http://forum.vingrad.ru/forum/topic-60076.html. |