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

Создать форму в доп. процессе   Найти похожие ветки 

← →
stas ©   (2010-05-22 16:29) [0]

У программы есть дополнительный процесс, нужно создать в нем форму и показать ее пользователю, а еще лучше форму создать в основном, по команде из доп. процесса. Подскажите как это правильно сделать?


← →
Leonid Troyanovsky ©   (2010-05-22 19:18) [1]


> stas ©   (22.05.10 16:29)  

> У программы есть дополнительный процесс, нужно создать в
> нем форму и показать ее пользователю, а еще лучше форму
> создать в основном

Лучше создать и показать в основном.
TFormX.Create(nil);

--
Regards, LVT.


← →
Loginov Dmitry ©   (2010-05-22 21:03) [2]


> Подскажите как это правильно сделать?


Правильно - вызвать с помощью Syncronize функцию из основного потока, и в ней создавать и показывать все что нужно.

Еще один прием:
TThread.Syncronize(nil, Form1.Show); // Покажет заранее созданную форму на экране
TThread.Syncronize(nil, Form1.Close); // Закроет форму

TThread.Syncronize(nil, Form1.Free); // Уничтожит форму


← →
DVM ©   (2010-05-24 00:53) [3]

Что такое дополнительный процесс? Речь о потоках или процессах?


← →
Германн ©   (2010-05-24 02:34) [4]


> DVM ©   (24.05.10 00:53) [3]

Имхо о потоках. Бо в другом процессе весьма сложно создать форму. А иногда и совсем не возможно.


← →
sniknik ©   (2010-05-24 07:58) [5]

> вызвать с помощью Syncronize функцию из основного потока
это будет не команда, это будет "прерывание" т.е. доп. поток "встанет". лучше уж определить свое событие в основном, где форму и создавать, а из потока его просто инициировать (PostMessage). вот это будет команда. и поток может "скомандовав" работать дальше.


← →
stas ©   (2010-05-25 17:21) [6]

Сделал через TStringList. В доп.потоке создаю форму записываю ее в stringList, а в основном по таймеру вызываю форму, вычищаю запись и уничтожаю форму.


← →
Leonid Troyanovsky ©   (2010-05-25 22:11) [7]


> stas ©   (25.05.10 17:21) [6]

> Сделал через TStringList. В доп.потоке создаю форму

Экстрим, что можно даже понять.

--
Regards, LVT.



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

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



Память: 0.46 MB
Время: -0.956 c
2-1268160877
Павел
2010-03-09 21:54
2010.08.27
IdHttp.post


2-1268309018
Вася
2010-03-11 15:03
2010.08.27
Изображение на канве


2-1269445511
Kurilkin
2010-03-24 18:45
2010.08.27
TFrame


3-1226323378
DSKalugin
2008-11-10 16:22
2010.08.27
Авторизация в DataSnap/SOAP


6-1223380302
gaux
2008-10-07 15:51
2010.08.27
Indy 10.1.5 + SSL. Получить код ошибки OpenSSL в OnVerifyPeer




   Наверх