In diesem Fall musst Du mit Referenzen arbeiten. Verwende hierzu entweder direkt Exemplar von Klassen statt Records oder erstelle einen weiteren Typen hier:
Delphi-Quellcode:
type
PMyRecord = ^TMyRecord;
von dem der Rückgabewert Deiner Funktion sein sollte.
Während Du im klassichen Pascal so einen Pointer auf Dein Record bei der Verwendung derefenzieren musstest
Delphi-Quellcode:
var
myReference: PMyRecord;
begin
// !ensure that myReference points to valid data!
myReference^.AField := AValue
ist das in Delphi nicht länger erforderlich, so dass Dein Aufruf der Form
Delphi-Quellcode:
function MyFunction(const AString: string): PMyRecord;
//..
MyFunction(AValue).AField := AnotherValue;
möglich ist. Du benötigst jedoch ein Konzept für den Fall, dass keine passende Referenz gefunden wurde (zB das Auslösen einer
Exception), damit Du nur auf gültigen arbeitest.