Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Убиение процедуры   Найти похожие ветки 

 
RomeoGolf   (2004-10-08 15:28) [0]

Подскажите пожалуйста, реально ли, и если да, то как решить такую проблемку. Запускается в дочерней форме приложения процедура с бесконечным циклом. Если форму убить, цикл продолжает вертеться, причем, если в нем есть обращение к визуальным компонентам формы, естесственно, лезут ошибки. А если нету - не закрыть главную форму. Можно ли как-то завершить/ликвидировать процедуру/метод убитой формы?


 
Суслик ©   (2004-10-08 15:30) [1]

Форму у тебя получается закрыть т.к. ты в цикле вызываешь application.processmessages. Один из вариантов не вызывать его. Второй вариант на время работы цикла блокировать операции, которые могу приводить к ошибкам. Например не давать закрываться форме в OnCLoseQuery


 
programania ©   (2004-10-08 15:32) [2]

в FormCloseQuery
stop:=true;
в цикле
while not stop
или
if stop then break;


 
RomeoGolf   (2004-10-08 15:37) [3]


> programania ©   (08.10.04 15:32) [2]


пробовал - не получается.

Вообще, поставил защиту от этого дела - именно не даю закрыться форме, пока не остановят процедуру.

Но хотелось бы узнать, можно ли удавить ее со стороны?


 
Digitman ©   (2004-10-08 15:40) [4]


> RomeoGolf


> можно ли удавить ее со стороны?


что удалить-то ? машкод процедуры ?


 
RomeoGolf   (2004-10-08 15:47) [5]

Да в общем-то, какая разнмца, какой код?
Грубо говоря, такой:

procedure TForm2.Button1Click(Sender: TObject);
begin
While CheckBox1.Checked do    // или Flag (который boolean)
begin
  Application.ProcessMessages;
   // еще что-нибудь
end;
end;


Это что-нибудь даст?


 
Digitman ©   (2004-10-08 15:52) [6]


> Это что-нибудь даст?


While CheckBox1.Checked do    // или Flag (который boolean)
begin
 Application.ProcessMessages;
 if FormClosedFlag then Break; //флаг взводится в любом событии формы, связанном с акцией закрытия формы
  // еще что-нибудь
end;



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
3-1096095314
Гость
2004-09-25 10:55
2004.10.24
Поиск без регистра


9-1087796659
MsShtaer
2004-06-21 09:44
2004.10.24
игра 64-bit


14-1096902511
X9
2004-10-04 19:08
2004.10.24
Новое сокращение или долой "программно"


3-1096018086
onics
2004-09-24 13:28
2004.10.24
Вставка комынды MS Visual FoxPro 6.0 в код программы.


14-1097139658
lipskiy
2004-10-07 13:00
2004.10.24
Ищу программу для нажимания кнопок в чужих окнах