does Advanced Record constructor automatically zero all the memory space of that record?
No, it does not. Neither in Delphi nor in FPC.

Am 24.09.2013 12:36, schrieb Dennis Poon:
if not, is there a clean and easy way to initialize the entire record memory space to zeros e.g.

constructor TMyRecord.Create(TheValue : Integer);
begin
  FillChar(self, sizeof(Self), 0);
  Value := TheVal;
end;
You can use either FillChar as you did or use "Self := Default(TTest);" (default is a compiler intrinsics that returns a 0 value of the type you passed in, e.g. Nil for classes, '' for strings, 0 for ordinals and for records all fields are set to 0)
Is there a Self variable for advanced record methods/constructors ?
Yes.
By the way, is there an ultimate inherited constructor "Create" for all advanced record types?
No.

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to