Главная страница
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.048 c
3-1095744487
Fishka
2004-09-21 09:28
2004.10.24
Level DBF-файлов 5 и 7 - какое это имеет значение?


1-1097517696
Makhanev A.S.
2004-10-11 22:01
2004.10.24
Мерцание ListView...


4-1095760732
romario
2004-09-21 13:58
2004.10.24
Буфер обмена.


1-1097236916
Aleksandr.
2004-10-08 16:01
2004.10.24
Имеет ли функция CopyFile проблемы с многопоточностью и проч.?


3-1096212833
001
2004-09-26 19:33
2004.10.24
TADOTable.Active: "Invalid variant type conversions."