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

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

О самоуничтожении объекта.


ZeroDivide ©   (2005-09-27 15:30:00) 

Ситуация следующая. Есть форма которая динамическисоздает и показывает фрейм

procedure TfmTemplateFramed.ShowFrame(FrameClass: TfrmTemplateMainClass;
 Parent: TWinControl);
...
 FFrame := FrameClass.Create(Self);
...
 FFrame.Parent := Parent;
...


, предроложим что на форме ни каких контролов больше нет и у фрейма Align = alClient. Чтобы закрыть фрем, на нем лежит кнопка bClose

Теперь вопрос в том, как бы по клику на этой кнопке уничтожить фрейм?


ZeroDivide   (2005-09-27 16:25:00) [1]

по аналогии с TCustomForm.Release
Угу... Я так и сделал. Похоже, единственный метод.


Игорь Шевченко   (2005-09-27 16:05:00) [2]


> Теперь вопрос в том, как бы по клику на этой кнопке уничтожить
> фрейм?


Повесить на фрейм обработчик сообщения CM_RELEASE и по клику на кнопке отправлять фрейму это сообщение, по аналогии с TCustomForm.Release.

В обработчике сообщения написать Free;


umbra   (2005-09-27 16:03:00) [3]

В обработчике нажатия кнопки


(bClose.Parent as TfrmTemplateMainClass).Close


Desdechado   (2005-09-27 15:59:00) [4]

динамически присвой кнопке внешний обработчик, который считает Sender и освободит твой фрейм


Наверх

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