Was auch ginge, wäre einen String mit genügend Länge zu reservieren und dann direkt da reinzuschreiben ... sowas gefällt mir auch immer (ersparrt einem ebenfall dieses ganze Try-Finally-Zeugs, da sich Delphi drum kümmert)
Code:
Function Format(Const S: WideString Const Args: Array of Const): WideString;
Var A: Array[0..15] of LongWord;
i: Integer;
Begin
For i := High(Args) downto 0 do A[i] := Args[i].VInteger;
[color=#ff0000]SetLength(Result, 1024);
SetLength(Result, wvsprintfW(PWideChar(Result), PWideChar(S), @A));[/color]
End;
SetLength würde da sozusagen dem GetMem entsprechen, wobei sich ja Delphi um die Freigabe des String kümmert ... auch bei 'ner
Exception.