Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat