Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Default-Wert für Record in Methode

  Alt 18. Feb 2020, 10:29
Pssst: Record ... kein Array (ja, ich weiß dass für Delphi Records auch nur Arrays mit nur einer Ebene sind, zumindestens bei den Funktionen zur Initialisierung des Speichers)

Jupp, aber wenn du den Record zerlegst, dann sind darin nur typen, die Delphi normal (einzeln und ohne Typ) auch übergeben kann.
Und hier ist der Record sogar genau mit einer typisierten String-Konstante identisch.

Delphi-Quellcode:
var
  Form1: TForm1;

type
  TMyRecord = {record
    MyVar:}
 string;
  {end;}

const
  cMyRecord : TMyRecord = {(MyVar:} 'Hello world'{)};

type
  TMyClass = class
  public
    procedure HelloWorld(const aMyVar: TMyRecord = cMyRecord);
  end;

original: [DCC Fehler] E2268 Parameter dieses Typs dürfen keine Standardwerte haben
jetzt: [DCC Fehler] E2026 Konstantenausdruck erwartet
E2268 ergibt eigentlich keinen Sinn
und so lange die Typen übereinstimmen, ergibt E2026 auch keinen Sinn,
warum der Compiler sowas nach 25 Jahren immernoch nicht kann, gerade beim String
Pointer ist Pointer, und vor allem da sich hier Variable, Konstante und typisierte Konstante garnicht unterscheiden.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat