Oba są polami o tej samej widoczności.
Słowo kluczowe var
jest potrzebne czasami, gdy deklarujesz pola po innych deklaracjach (jak stałe, typy wewnętrzne, a nawet po metodach i właściwościach).
Na przykład:
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;
Pole var
jest potrzebna w drugim przypadku (FSomeOtherField
) poinstruować kompilator teraz przyjść szereg deklaracji pól, ale w pierwszym przypadku nie jest to konieczne ze względów historycznych , ponieważ w pierwszych wersjach Delphi można po prostu zadeklarować Fields i nie było obsługi zagnieżdżonych typów lub stałych.
"Zatem wszystkie deklaracje pola muszą wystąpić przed deklaracjami właściwości lub metod" ... Dodałbym "w ramach tego samego bloku widoczności". – jpfollenius
Myślałem, że nie ma różnicy. –