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

Вниз

Как не допустить повторную загрузку формы?   Найти похожие ветки 

 
Plt   (2004-04-14 18:10) [0]

Все формы загружаются из dll-ин. Есть обычные формы и MDI. Как при создании формы сделать проверку, если форма уже создана то ее просто показать, а не создавать заново.


 
TCrash ©   (2004-04-14 21:25) [1]

Недавно пролетал вопрос об одноэкземплярном приложении.
Для каждой формы создаешь свой мьютекс и при вызове формы проверяй на наличие уже открытой формы.
Может быть проблема при аварийном завершении приложения. В этом случае мьютекс может быть не уничтожен


 
Style ©   (2004-04-14 21:56) [2]


> Для каждой формы создаешь свой мьютекс и при вызове формы
> проверяй на наличие уже открытой формы.


Супер!!! :)))


 
Fay ©   (2004-04-14 22:02) [3]

Ещё можно для каждой формы (так это назовём) создавать сокет слушающий свой порт. 8)


 
panov ©   (2004-04-14 22:03) [4]

Ладно прикалываться-то...
Для каждой формы есть указатель типа TForm.
Достаточно проверять его на nil, при уничтожении формы - обнулять соответственно.


 
Style ©   (2004-04-14 22:19) [5]


> Достаточно проверять его на nil,


Не знаю, что лучше в этом случае использовать глобальную переменную или всеже избежать ее использование

Я обычно завожу в public главной формы
булевый флаг IsFrmTestCreated: boolean;
и при Create устанавливаю его в true, а на FrmTest.OnDestroy
сбрасываю его в false обращаясь к нему через Owner.


 
Fay ©   (2004-04-14 22:25) [6]

2Style ©   (14.04.04 22:19) [5]
Защита от себя? Клёво.


 
Style ©   (2004-04-14 22:31) [7]


> Защита от себя? Клёво.


иногда действительно лучше ограничить свои возможности :) Или потом без пива не разобраться...



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
4-1078199427
Lefan
2004-03-02 06:50
2004.05.02
Взять HTML из чужого приложения...


9-1069057084
knstantun
2003-11-17 11:18
2004.05.02
-как работать с dfx в delphi?


1-1081708270
Артем
2004-04-11 22:31
2004.05.02
"Canvas does not allow drawing"


1-1081844252
Dimerol
2004-04-13 12:17
2004.05.02
Management памяти.


1-1082026096
Ivolg
2004-04-15 14:48
2004.05.02
Печать