Советы по Delphi

         

Классовые/статические/переменные общего доступа


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

следующая строка также корректна:

    x := TNode.GetNodeCount;

[001176]



Содержание раздела