Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с объектами


Виталька ©   (2004-11-03 08:34:00) 

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


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


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

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

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


KSergey   (2004-11-03 09:41:00) [2]

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

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


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

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


Goffman   (2004-11-03 08:55:00) [4]

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо