Классовые и статические переменные общего доступа
Здесь кроется небольшая хитрость: получение эквивалентной функциональности с
помощью классового метода. Просто объявите 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;
|
следующая строка также корректна:
|