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

Вниз

default-значение пирватного булёвого поля   Найти похожие ветки 

 
Ega23 ©   (2007-10-16 10:50) [0]

type
 TMyClass = class(...)
 private
   FMyBoolField : Boolean;
 end;

После создания экземпляра класса какое значение будет? Абсолютно точно False, или всё-таки переопределить конструктор и в нём явно прописать FMyBoolField := False;  ?


 
Суслик   (2007-10-16 10:51) [1]

false


 
Суслик   (2007-10-16 10:52) [2]

class function TObject.InitInstance(Instance: Pointer): TObject;
var
 IntfTable: PInterfaceTable;
 ClassPtr: TClass;
 I: Integer;
begin
 FillChar(Instance^, InstanceSize, 0);  PInteger(Instance)^ := Integer(Self);
 ClassPtr := Self;
 while ClassPtr <> nil do
 begin
   IntfTable := ClassPtr.GetInterfaceTable;
   if IntfTable <> nil then
     for I := 0 to IntfTable.EntryCount-1 do
   with IntfTable.Entries[I] do
   begin
     if VTable <> nil then
       PInteger(@PChar(Instance)[IOffset])^ := Integer(VTable);
   end;
   ClassPtr := ClassPtr.ClassParent;
 end;
 Result := Instance;
end;


 
Ega23 ©   (2007-10-16 10:53) [3]


>  FillChar(Instance^, InstanceSize, 0);


Всё понял, вопрос снят.

З.Ы.
Дима, перерегистрируй анкету.


 
Ins ©   (2007-10-16 10:55) [4]

Абсолютно точно, если вы конечно не перекроете NewInstance. Можете, кстати, посмотреть реализацию этого метода в классе TObject. Там видно, что память под экземпляр в самом начале заполняется нулями.


 
Сусл ©   (2007-10-16 10:58) [5]


> Дима, перерегистрируй анкету.

ок, я немного подрос.


 
Игорь Шевченко ©   (2007-10-16 11:03) [6]


> После создания экземпляра класса какое значение будет? Абсолютно
> точно False


До тех пор, пока Borland считает False нулем :)


 
Сусл ©   (2007-10-16 11:11) [7]

борланд нам не указ! пусть алм свою продают.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
15-1191826379
Странник81
2007-10-08 10:52
2007.11.11
Подскажите где найти компонент


2-1192861122
apic
2007-10-20 10:18
2007.11.11
win+d


2-1192273873
lod
2007-10-13 15:11
2007.11.11
Вывод на печать ?


2-1192776194
ses
2007-10-19 10:43
2007.11.11
combobox. edit;


15-1191265598
TopoR
2007-10-01 23:06
2007.11.11
2 задачи в Delphi...