Delphiの代入文がキモすぎます。
どうして n = 0; では駄目なんですか?