Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.12.2009, 12:38
PG81 PG81 вне форума
Прохожий
 
Регистрация: 15.10.2009
Сообщения: 31
Репутация: 10
По умолчанию Как обнулять ссылки на форму при ее закрытии?

Здравствуйте!Такой вопрос
Есть главная MDI форма и много child форм.В главной есть свойство в котором лежат ссылки на дочерние формы типа TForm, но при закрытии дочерней формы переменная продолжает содержать ссылку на уже не существующую дочернюю форму.Можно ли как то сделать так чтобы при закрытии дочерней формы ссылка на нее автоматически обновлялась и при этом выполнять ряд еще дополнительных действий.Где-то слышал что нужно это реализовывать через TNotifyEvent, но не знаю как это сделать.Вобщем должно получиться взаимодействие что-то на подобии TDataSource и TDataSet, там тоже если удалить TDataSet, то ссылка на него в TDataSource обнуляется.Попытался разобраться в их взаимодействии, но что-то никак.
Я предполагаю что нужно создать новый класс дочерней формы чтобы она учитывала ссылки на себя в перекрытом методе Destroy обнулять ссылки.Вобщем подскажите пожалуйста!Буду благодарен.
Ответить с цитированием
  #2  
Старый 01.12.2009, 14:19
PG81 PG81 вне форума
Прохожий
 
Регистрация: 15.10.2009
Сообщения: 31
Репутация: 10
По умолчанию

Подсказали на SQL.RU
Код:
TMainForm = class(TForm)
private
  ChildFrm:Tform;
protected
  procedure Notification(AComponent: TComponent; Operation: TOperation); override;
...
procedure TMainForm.Notification(AComponent:TComponent; Operation:TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (AComponent = ChildFrm) then begin
    ChildFrm := nil;
  end;
end;
Admin: Теги и еще раз теги!

Последний раз редактировалось Admin, 01.12.2009 в 14:23.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:07.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025