Delphiヘルプファイルより
out パラメータは,変数パラメータと同じように参照により渡されます。しかし,out パラメータの値は,呼び出し先ルーチンに渡る前にいったん破棄されます。つまり,呼び出し先に out パラメータを使って値を渡すことはできません。out パラメータは結果を受け取ることしかできません。呼び出し先ルーチンの処理結果を受け取るための領域を確保するために使われます。
Koders 漁ってて見かけたのだけど、長いこと Delphi を使っていて知らなかった・・・。例えばこんな風に書ける。
procedure GetTextLen (const Text: string; out Len: Integer);
