Вниз
Скачать: CL | DM;

прерывание исполнения программы   Найти похожие ветки 

 
mik_1   (2003-12-28 18:29) [0]

Дорогие специалисты!
Вопрос касаемо языка Pascal. Кто знает, как запрограммировать приостановку исполения программы, напр. во время вывода графики, командой с клавиатуры/мыши? Как это можно реализовать практически на Object Pascal? Есть ли какие-нибудь стандартные функции/прерывания и т.п. Заранее благодарю.


 
Иван Шихалев ©   (2003-12-28 18:44) [1]

Языка этот вопрос уж точно не касается никоим образом. Если имеется длинный процесс вывода, то можно а) вывести его в отдельный поток (и получить большие проблемы с синхронизацией) и б) в самом процессе предусмотреть Application.ProcessMessages(), после чего проверять некий флаг, который будет устанавливаться по сообщениям с клавиатуры.


 
Юрий Зотов ©   (2003-12-28 21:33) [2]

> mik_1 (28.12.03 18:29)

Для программы с одной формой, например, так:

with Application, MainForm do
begin
Enabled := False;
while not Enabled do ProcessMessages
end;

Снятие блокировки (например, по приходу какого-то сообщения, по событию таймера и пр.):
Application.MainForm.Enabled := True;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
4-37974
Vladimir Karpus
2003-11-07 18:19
2004.01.13
GetDIBits периодически ошибается


4-37985
kanat
2003-11-02 07:57
2004.01.13
перехват фалов отравляемый на принтер из dos


3-37508
Mikka
2003-12-16 10:37
2004.01.13
Одним запросом все таблицы...


14-37849
Vlad Oshin
2003-12-23 10:01
2004.01.13
outlook. сохранение вложений.


7-37943
mOOx_
2003-11-02 11:32
2004.01.13
MessageDlg по-русски




   Наверх