Nun, der Compiler lässt aber nun mal Default-Werte bei Record-Parametern nicht zu. Dann bleibt halt nur der von Uli beschriebene Ansatz mit overload.
Für den anfangs beschriebenen Anwendungsfall sehe ich da auch keinen wesentlichen Nachteil.
Delphi-Quellcode:
function p_Rec(V, T, n: Extended; const z: TDRecord): Extended; overload;
begin
. . .
end;
function p_Rec(V, T, n: Extended): Extended; overload;
const
z: TDRecord = (X: 1.25; Y: 2.5);
begin
Result := p_Rec(V, T, n, z);
end;
Es lassen sich so Aufrufe mit und ohne z-Parameter schreiben, die auch korrekt ausgeführt werden. Wenn das nicht für deinen Anwendungsfall passt, dann zeig den doch mal. Es hilft ja nicht, wenn wir hier Lösungen für ein Problem suchen, was gar nicht existiert. Ich persönlich kann im Moment noch nicht sehen, wo es bei dir genau hakt.