Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.128 c
2-1272982597
novichek
2010-05-04 18:16
2010.08.27
TCPserver


15-1263829418
TStas
2010-01-18 18:43
2010.08.27
А куда пропало "Показать мои вопросы"


4-1230942499
Fighter
2009-01-03 03:28
2010.08.27
Как получить серийный номер USB флешки (UniqueID)


11-1214992169
Sarymian
2008-07-02 13:49
2010.08.27
Проблема с заменой системных модулей в версии 2.87


2-1272205654
romario
2010-04-25 18:27
2010.08.27
Работа с текстовым файлом