Sono entrambi campi con la stessa visibilità.
La parola chiave var
è talvolta necessaria quando si dichiarano i campi dopo altre dichiarazioni (come costanti, tipi interni o anche dopo metodi e proprietà).
Ad esempio:
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;
Il campo var
è necessaria nel secondo caso (FSomeOtherField
) per indicare al compilatore giunto una serie di dichiarazioni campi, ma nel primo caso non è necessaria per ragioni storiche , perché nelle prime versioni di Delphi è possibile dichiarare campi e non esiste supporto per tipi o costanti annidati.
"Quindi tutte le dichiarazioni di campo devono essere eseguite prima di qualsiasi dichiarazione di proprietà o metodo" ... Vorrei aggiungere "all'interno dello stesso blocco di visibilità". – jpfollenius
Pensavo non ci fosse differenza. –