Dennoch ist Blups Einwand sehr wichtig! Der @-Operator gibt dir die Adresse der folgenden Variablen. In deinem Fall dort also die Adresse auf dem Stack, an der "i" liegt, aber du willst den Inhalt von "i" - der ist nämlich die Adresse auf dem Heap, an der deine Instanz liegt. Lass einfach das @ mal komplett weg, überall. Das braucht man i.A. höchstens mal bei Records und Arrays, und auch dann nur, wenn man mit C-like APIs arbeitet, die gerne mal Pointer auf ein erstes Element erwarten. Zusammen mit Objektinstanzen und nur innerhalb Delphi ist @ eigentlich nie wirklich sinnvoll einsetzbar. (Ausser bei so manch fiesem Hack, aber du bewegst dich ja noch weit innerhalb der Abstraktion des
OOP-Kissens
)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)