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

Уничтожение не модальной формы с Parent = nil   Найти похожие ветки 

← →
kichrot ©   (2007-08-07 13:26) [0]

Как правильно в динамике уничтожить вот такую динамически создаваемую  не модальную форму:

NewForm2( Form2, nil );

Стандартное:

Form2.Form.Free;
Form2 := nil;

выдает ошибку.


← →
Vladimir Kladov   (2007-08-07 14:15) [1]

Почему родитель = nil, а не Applet? И что, если будет Applet, как предлагается в демах?


← →
kichrot ©   (2007-08-07 14:48) [2]

Дело в том, что форма используется в много поточном приложении (форма создается и уничтожается в основном потоке) в системе сигнализации. Если родителем ставить Applet, то наблюдается очень не приятная задержка между нажатием назначенных "горячих клавиш" и появлением формы. Если родителем ставить nil, то форма появляется мгновенно.
Не знаю коректно ли применение nil в данном случае, но все работает как надо за исключением уничтожения формы.
Как быть?


← →
Vladimir Kladov   (2007-08-07 15:47) [3]

Я в многопоточном приложении никогда не создаю окна в разных потоках. Раз вы такой смелый, то пройдите по коду по шагам, и посмотрите, что там где падает. Может, найдётся что добавить или поправить, чтобы не падало.

А задержка, конечно же, из-за того, что если окно из одного потока является родительским окну из другого, то все сообщения начинают гоняться через межпоточные барьеры. Не знаю даже, как оно вообще работает тогда.



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

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



Память: 0.45 MB
Время: 0.009 c
6-1183210878
Kor
2007-06-30 17:41
2008.03.23
Обмен данными через Dial-up модем.


2-1203478710
Biomass
2008-02-20 06:38
2008.03.23
графическую зависимость данных от времени


15-1202459218
boriskb
2008-02-08 11:26
2008.03.23
Рекомендую новый антивирус


2-1203588470
oleg_teacher
2008-02-21 13:07
2008.03.23
Свое расширение на файл.


15-1202477158
ПЛОВ
2008-02-08 16:25
2008.03.23
Есть ли уже подобное средство...




   Наверх