Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.087 Beiträge
 
Delphi 12 Athens
 
#6

AW: VLI - very long integer

  Alt 11. Feb 2011, 12:33
Ja, leider gibt es für Records keinen automatischen "Constructor".

Es kann aber gern gevotet werden: http://qc.embarcadero.com/wc/qcmain.aspx?d=82524


Allerdings nutzt du ein dynamisches Array, welches dennoch automatisch initialisiert wird.
Bei meinen Operator-Records nutze ich deshalb gerne notgedrungen solche Typen, wie dyn. Arrays, Strings oder Interfaces, als Marker, wenn ich noch andere "uninitialisierte" Typen verwende, wie z.B. dein FMinus (Boolean).
Sind diese nil (oder ''), dann wurde der Record noch nicht initialisiert, nun wird also in allen Recordmethoden/Operatoren am Anfang eine Prüfmethode eingebunden, welche auf eine Initialisierung prüft.

Delphi-Quellcode:
procedure TVLI.InitCheck;
begin
  if FVLIAr = nil then begin
    SetLength(FVLIAr, 1);
    FVLIAr[0] := 0;
    FMinus := false;
  end;
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat