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

Вниз

TForm   Найти похожие ветки 

 
СП   (2004-04-16 13:51) [0]

При выполнении долготекущего процесса требуется доступ к компонентам формы (например к TButton) для его прерывания. Как сделать без создания нового потока?


 
Владислав ©   (2004-04-16 13:54) [1]

В длительном процессе добавить Application.ProcessMesseges.
Только необходимо блокировать тот самый длительный процесс (и все, что с ним связано) от повторного запуска его же. Иначе каша может получиться.


 
СП   (2004-04-16 14:17) [2]

У меня процесс запускается в контексте одной формы а его прерывание надо повесить на TButton.Click другой, создаваемой на время выполнения процесса. Трудность с доступом к этой самой Button.


 
Владислав ©   (2004-04-16 14:20) [3]

Что значит "Трудность с доступом к этой самой Button."? Объясняй подробнее. И вообще, код в студию.


 
MBo ©   (2004-04-16 14:28) [4]

>СП  
>процесс запускается в контексте одной формы
>другой, создаваемой на время выполнения процесса

А что такое "процесс"?


 
Владислав ©   (2004-04-16 14:31) [5]

> MBo ©   (16.04.04 14:28) [4]

Это тот, который "длительный процесс". Скорее всего какая то процедура (судя по контексту). ;)


 
TUser ©   (2004-04-16 14:36) [6]

длительный процесс = отдельный поток


 
Владислав ©   (2004-04-16 14:40) [7]

> TUser ©   (16.04.04 14:36) [6]

Ну зачем же так категорично?


 
СП   (2004-04-16 14:50) [8]

ну, например, так...
procedure TForm1.Button1Click(Sender: TObject);
begin
 with TForm2.Create(Application) do begin
   Caption:= "Run";
   Show;
 end;
 repeat until Form2.Caption = "Finish";

procedure TForm2.Button1Click(Sender: TObject);
begin
 Caption:= "Finish";
end;


 
Семен Сорокин ©   (2004-04-16 14:55) [9]

repeat
 Application.ProcessMessages;
until Form2.Caption = "Finish";

а вообще если серьезные вычисления, то стоит подумать насчет [6]


 
Владислав ©   (2004-04-16 14:55) [10]

Ты смысл пойми. Обрабатывать остановку "длительного поцесса", надо в самом этом "длительном процессе", а коммандовать ты можешь из любого места. Вот тебе уже дали два варианта. Поток, и обработка очереди сообщений. А твой код ни о чем не говорит.


 
Семен Сорокин ©   (2004-04-16 14:56) [11]

СП   (16.04.04 14:50) [8]
а что будет, если форму крестиком закроют, думал?


 
СП   (2004-04-16 15:03) [12]

Спасибо!
Затупил...



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

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

Наверх




Память: 0.49 MB
Время: 0.07 c
1-1082145132
NeyroSpace
2004-04-16 23:52
2004.05.02
Поток и все все все...


4-1078346506
Talla2k
2004-03-03 23:41
2004.05.02
Services!!!


4-1078152750
v][x
2004-03-01 17:52
2004.05.02
Job Object или CreateProcess


14-1081685357
anpsoft
2004-04-11 16:09
2004.05.02
xp и 1гб озу


3-1081347600
начинаю-щий
2004-04-07 18:20
2004.05.02
Уникальное значение поля