Sieh das Default einfach wie ein
New, nur ohne Pointer dazwischen.
Wenn man bei einfachen Typen anfängt, wird es vielleicht klarer.
Delphi-Quellcode:
Default(Integer) = 0 // Low(Integer)=MinInt und High(Integer)=MaxInt
Default(String) = '' // Low(String)=erster Array-Index und High(String)=letzer Array-Index
Default(TButton) = nil
Und das kann man nun verschachteln (
Default(TMyRecord)
),
wobei quasi für jedes Feld des angegebenen Records das Default des entsprechenden Typen eingesetzt wird.
(im Prinzip entspricht es dem InitializeRecord/InitializeArray aus der SysUils)