Sie sind beide Felder mit der gleichen Sichtbarkeit.
Das Schlüsselwort var
wird manchmal benötigt, wenn Sie Felder nach anderen Deklarationen (wie Konstanten, innere Typen oder sogar nach Methoden und Eigenschaften) deklarieren.
Zum Beispiel:
type
TMyClass = class
private
FSomeField: string; //<--- this is a field, here you don't need the var clause
const
SOME_CONSTANT = 1;
OTHER_CONSTANT = 2;
var //<---- here you need the var clause to start declaring fields
FSomeOtherField: string;
end;
Das var
Feld ist im zweiten Fall (FSomeOtherField
) benötigt, um den Compiler jetzt kommt eine Reihe von Feldern, Erklärungen zu unterweisen, aber im ersten Fall ist es nicht aus historischen Gründen erforderlich , denn in den ersten Delphi-Versionen können Sie nur Felder deklarieren und es gab keine Unterstützung für verschachtelte Typen oder Konstanten.
"Dann müssen alle Felddeklarationen vor jeder Eigenschafts- oder Methodendeklaration auftreten" ... Ich würde "innerhalb desselben Sichtbarkeitsblocks" hinzufügen. – jpfollenius
Ich dachte, es gibt keinen Unterschied. –