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

Вниз

Работа с объектами   Найти похожие ветки 

 
Виталька   (2004-11-03 08:34) [0]

У меня такая проблема:
Есть класс, производный от TForm, ну вообщем моя форма.
Программа запускается и в какой то момент создает объект этого класса.
Как определить программно, существует уже объект данного класса или его еще нет?


 
begin...end ©   (2004-11-03 08:44) [1]

1. Если форма создаётся с назначением Application в качестве владельца, то можно поискать в Screen.Forms.
2. Можно проверять по неравенству FormVariable <> NIL. При этом, если форма может создаваться и уничтожаться несколько раз, нужно предусмотреть присваивание FormVariable := NIL после уничтожения, или FreeAndNil().


 
Goffman ©   (2004-11-03 08:55) [2]

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


 
Виталька   (2004-11-03 09:00) [3]

Во точно, забыл что в Delphi "Nil" используется, привык на C++ писать.
Спасибо огромное, все круто стало работать.


 
KSergey ©   (2004-11-03 09:41) [4]

> [1] begin...end ©   (03.11.04 08:44)
> 1. Если форма создаётся с назначением Application в качестве
> владельца, то можно поискать в Screen.Forms.

А разве в Screen.Forms она не при любом раскладе попадает? (впрочем, не уверен...)


 
begin...end ©   (2004-11-03 11:44) [5]


> [4] KSergey ©   (03.11.04 09:41)

Да, Вы правы. Извиняюсь.

P.S. Хотя справедливости утверждения 1 это не нарушает ;-)



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

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

Наверх




Память: 0.48 MB
Время: 0.043 c
6-1091368838
sashapont
2004-08-01 18:00
2004.11.21
Кодировка


3-1098388916
MORA
2004-10-22 00:01
2004.11.21
Progress при подключении к севреру


14-1099293701
вразлет
2004-11-01 10:21
2004.11.21
Опрос. Кто как голосовал?


14-1099844624
ИМХО
2004-11-07 19:23
2004.11.21
Зачем этот cygwin1.dll


3-1098416333
sanek
2004-10-22 07:38
2004.11.21
как с помощью random выбрать запись из таблицы