Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#16

AW: Auch Records...kann man CopyOnWrite deaktivieren?

  Alt 3. Nov 2023, 16:25
Items ist TArray<TMyRecord>
Damit müsste es gehen. Beim Zugriff euf ein Array-Element bekommt man den originalen Record und keine Kopie. Erst der Rückgabewert von RecordAusListe ist dann eine Kopie. Mein Beispiel könnte dann so aussehen:
Delphi-Quellcode:
type
  PMyRecord = ^TMyRecord;

Function RecordAusListe(aName:String) : PMyRecord;
Begin
  Result := @MyRecordLIST.Items[IndexOfName(aname)];
end;

Procedure Tuwas;
var myRec:PMyRecord;
Begin
  myrec := RecordAusListe('Peter');
  myRec.Hitpoints := 5;

// oder
  RecordAusListe('Peter').Hitpoints := 5; // das ^ ist nicht notwendig, das denkt sich der Compiler dann.

end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat