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

Вниз

Почему вызывается деструктор фрейма созданного *.Create(nil)?   Найти похожие ветки 

 
Kolan ©   (2009-04-13 12:44) [0]

Здравствуйте!

Есть фрейм, который создается так:

procedure TSimpleDBAnalysisColleague.CreateFrame(Owner: TWinControl);
begin
 SimpleDBAnalysisFrame := TSimpleDBAnalysisFrame.Create(nil);
 SimpleDBAnalysisFrame.Parent := Owner;
 SimpleDBAnalysisFrame.Align := alClient;
 SimpleDBAnalysisFrame.MeasurementsDeleteVisitor := GetMeasurementsDeleteVisitor;
 SimpleDBAnalysisFrame.MeasuremantsOpenVisitor := GetMeasurementsOpenVisitor;
 SimpleDBAnalysisFrame.ParamsDictionaryLoadVisitor := GetParamsDictionaryLoadVisitor;
 SimpleDBAnalysisFrame.SimpleSettingsManager := GetSettingsManager;
end;


Вопрос: Почему деструктор этого фрейма вызывается автоматически?

Под автоматическим вызовом подразумевается следующее (стек):
KFreGrafSimpleDBAnalysisFrame.TSimpleDBAnalysisFrame.Destroy
Controls.TWinControl.Destroy
ComCtrls.TTabSheet.Destroy
Controls.TWinControl.Destroy
ComCtrls.TCustomTabControl.Destroy
ComCtrls.TPageControl.Destroy
Controls.TWinControl.Destroy
Forms.TScrollingWinControl.Destroy
Forms.TCustomForm.Destroy
Classes.TComponent.DestroyComponents
Forms.DoneApplication
SysUtils.DoExitProc
System.@Halt0
KFreGraf.KFreGraf
:0057eb53 TSimpleDBAnalysisFrame.Destroy + $B


 
Palladin ©   (2009-04-13 12:45) [1]

Потому что:

SimpleDBAnalysisFrame.Parent := Owner;


 
Palladin ©   (2009-04-13 12:47) [2]

http://delphimaster.net/view/2-1237889881/


 
Kolan ©   (2009-04-13 12:52) [3]

Понятно. Я подозревал, но не верил своим подозрениям. Благодарю.


 
Kolan ©   (2009-04-13 14:47) [4]

Так, ладно. А при создании серии TeeCharta таким способом:

{{{
constructor TSerieGraph.Create(Chart: TChart; Color: TColor);
begin
 inherited;
 FChart := Chart;
FSerie := CreateSerie(FChart);
 FSerie.SeriesColor := Color;
 FChart.AddSeries(FSerie);
end;

function TSerieGraph.CreateSerie(AOwner: TComponent): TChartSeries;
begin
 Result := TChartSeries.Create(AOwner);
end;
}}}

Серии тоже будут удалены автоматом? У них же владелец — чарт, который лежит на форме...



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
15-1237461652
Baks
2009-03-19 14:20
2009.05.24
Программа для измерения скорости подключения к интернету


3-1221048997
Drowsy
2008-09-10 16:16
2009.05.24
Как в ХП передать вводимую строку из DBGrid-а?


2-1239358001
igorntk
2009-04-10 14:06
2009.05.24
Как сделать запрет на закрытие формы?


2-1239395171
Johnnnnn
2009-04-11 00:26
2009.05.24
Строка или текст через clipboard , незнаю как правильно.


15-1236634211
Юрий
2009-03-10 00:30
2009.05.24
С днем рождения ! 10 марта 2009 вторник