Главная страница
    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.46 MB
Время: 0.063 c
15-1275923916
bss
2010-06-07 19:18
2010.08.27
Регулярные выражения: как проверить вхождение числа в диапазон


3-1239892608
Сантропе
2009-04-16 18:36
2010.08.27
Подскажите утилиту для работы с PARADOX


2-1267601181
Гость
2010-03-03 10:26
2010.08.27
Упростить выражение


2-1268233756
Учащийся
2010-03-10 18:09
2010.08.27
Доказательство корректности алгоритма с помощью инвариантов


2-1273148921
ИванВ
2010-05-06 16:28
2010.08.27
ScrollBar





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский