Вниз
Скачать: CL | DM;

инициализировать переменную   Найти похожие ветки 

← →
_QWERTY_   (2012-02-06 11:01) [0]

Нужно ли инициализировать nil переменную FMyControl в конструкторе или она итак до создания экхемпляра объекта будет равна nil?


MyClass = class(TObject)
private
 FMyControl: TMyControl;
public
 constructor Create;
 procedure DoSomething;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 {  }
 Assert(FControl = nil);
 {  }
end;

{ TMyClass }

constructor TMyClass.Create;
begin
 // <- FMyControl := nil ?
end;

procedure TMyClass.DoSomething;
begin
 // FMyControl := TMyControl.Create(nil);
end;


← →
MBo ©   (2012-02-06 11:08) [1]

Не нужно. При создании родительского объекта его область данных заполняется нулями.


← →
Омлет ©   (2012-02-06 11:09) [2]

Всё автоматом инициализируется.

"To create an object, call the constructor method on a class type. For example,

MyObject := TMyClass.Create;

This allocates storage for the new object on the heap, sets the values of all ordinal fields to zero, assigns nil to all pointer and class-type fields, and makes all string fields empty."



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.062 c
15-1346830391
LDV
2012-09-05 11:33
2013.03.22
Delphi directory


15-1333057317
Германн
2012-03-30 01:41
2013.03.22
Взаимодействие 64-х битного приложения с 32-х битной библиотекой


15-1335541656
brother
2012-04-27 19:47
2013.03.22
Win 98


3-1282803008
Nurjanov
2010-08-26 10:10
2013.03.22
[Error] Need imported data reference ($G) to access GUID_NULL f


6-1263450403
romich
2010-01-14 09:26
2013.03.22
Фотохостинг




   Наверх