Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Record-Funktionen bei Const-Deklaration?

  Alt 2. Jun 2008, 12:29
wär aber dennoch schön, wenn in Delphi ein als Konstante deinierter Record wirklich eine Konstante wär

hab noch etwas weitergetestet und bei den Klassenoperatoren funktioniert es zumindestens schonmal:
Delphi-Quellcode:
Type TMyRecord = Record
    Inhalt: Integer;
    Class Operator Implicit(Const x: Integer): TMyRecord;
    Procedure MySet(x: Integer);
  end;

Class Operator TMyRecord.Implicit(Const x: Integer): TMyRecord;
  Begin Result.Inhalt := x; End;

Procedure TMyRecord.MySet(x: Integer);
  Begin Inhalt := x; End;

Procedure TForm2.FormCreate(Sender: TObject);
  Var A: TMyRecord;
  Const B: TMyRecord = (Inhalt: (123));

  Begin
    A := 456;
    B := 456; // geht nicht
               // [Pascal Error] Unit2.pas(45): E2064 Left side cannot be assigned to

    A.MySet(456);
    B.MySet(456); // geht !!!

    If B.Inhalt = A.Inhalt Then Halt;
    // hier müßte B.Inhalt 123 sein, aber es ist 456
  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