Главная страница
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.053 c
7-1078581566
InfoCar1
2004-03-06 16:59
2004.05.02
Как удалить из реестра переменную?


4-1078595459
Shopot
2004-03-06 20:50
2004.05.02
WinAPI. Ring-0.


8-1069760023
S@shka
2003-11-25 14:33
2004.05.02
Передача звука с помощью DirectX


1-1081951805
Plt
2004-04-14 18:10
2004.05.02
Как не допустить повторную загрузку формы?


4-1074747407
GrayFace
2004-01-22 07:56
2004.05.02
Есть ProcessId Как получить hProcess, его ветки, юзера, %CPU?