Классовые и статические переменные общего доступа
  
Здесь кроется небольшая хитрость: получение эквивалентной функциональности с 
помощью классового метода. Просто объявите NodeCount как регулярную 
типизированную константу в секции implementation вашего файла. 
 
type
  TNode = class
  public
    NodeCount: Integer = 0; {ЭТО НЕ ДОПУСКАЕТСЯ}
    constructor Create;
    class function GetNodeCount: word;
    {
    другой необходимый код
    }
  end;
implementation
const
  NodeCount: word = 0;
  TNode.Create;
begin
  inherited Create;
  Inc(NodeCount);
end;
function TNode.GetNodeCount: word;
begin
  result := NodeCount;
end;
 |  
  
Итак, теперь ваш код может выглядеть так, как вы хотели: 
 
SampleNode := TNode.Create;
x := SampleNode.GetNodeCount;
 
 |  
  
следующая строка также корректна: 
 
           |