|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Уничтожить динамически созданную форму
По клику на кнопке создаю новое окно (TFrmProfile = class(TForm), класс описан в другом юните)
Код:
unit Unit1; //------bla-bla-bla------ var Form1: TForm1; FormNo: Byte; implementation //------bla-bla-bla------ procedure TForm1.Button1Click(Sender: TObject); var F: TFrmProfile; begin //------bla-bla-bla------ F:= TFrmProfile.CreateWithType(Application, MT); FormNo:= FormNo+1; F.Name:= 'Forma'+IntToStr(FormNo); ComboBox1.Items.Append(F.Name); //------bla-bla-bla------ F.Show; Label1.Caption:= IntToStr(Application.ComponentCount); end; procedure TForm1.ComboBox1Change(Sender: TObject); var i: Byte; begin for i:= 0 to Application.ComponentCount-1 do begin if Application.Components[i].Name = ComboBox1.Text then (Application.Components[i] as TFrmProfile).Show; end; end; Код:
(Application.Components[i] as TFrmProfile).Show; Собственно задача изничтожить форму при закрытии. Цитата:
Код:
unit MineForms; //------bla-bla-bla------ TFrmProfile = class(TForm) //------bla-bla-bla------ public constructor CreateWithType(AOwner: TComponent; AMetterType: TMetterType=mtPrutok; Dummy: Integer=0); procedure Close(Sender: TObject; var Action: TCloseAction); end; implementation //------bla-bla-bla------ procedure TFrmProfile.Close(Sender: TObject; var Action: TCloseAction); begin Action:= caFree; end; |
#2
|
||||
|
||||
Ну а метод Free что мешает применить?
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
Цитата:
|
#4
|
||||
|
||||
А что в методе CreateWithType происходит?
И, на всякий случай, о какой версии Delphi речь Невозможно заточить карандаш тупым топором. Столь же тщетно пытаться сделать это десятком тупых топоров Последний раз редактировалось madMonia, 21.05.2014 в 10:34. |
#5
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#6
|
||||
|
||||
Конструктор есть, а нет деструктора - при разрушении похоже сразу грохаются надстройки (методы) класса и до назначенного события дело не доходит, возможно срабатывает стандартный обработчик грохота, а это происходит в такой последовательности
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |