Delphi静态变量

5 delphi static delphi-5

在我的课堂上,我需要使用静态变量(static int next_id在C ++中;

我用

private
    class var next_id: Integer;
Run Code Online (Sandbox Code Playgroud)

我得到错误:PROCEDURE or FUNCTION expected。如何用Delphi 5声明一些变量?

Rud*_*uis 5

在Delphi 5中,您不能这样做。Delphi 5中尚无类变量。

不过,下一个最好的事情是该单元的实现部分中的全局变量。

unit Whatever;

...

implementation

var
  next_ID: Integer;

...

initialization
  next_ID := 0;

end.
Run Code Online (Sandbox Code Playgroud)

或者,在最底部:

begin
  next_ID := 0;
end.
Run Code Online (Sandbox Code Playgroud)


Jer*_*dge 3

扩展鲁迪的答案......

Delphi 5 还没有这个功能。但你至少可以声明一个全局变量。我不会复制 Rudy 的代码,但我会补充一点,为了初始化它们(并在必要时清理它们),您应该使用单元的initialization( 和) 部分。finalization它们位于德尔福单元的最底部,就像这样......

unit Whatever;

...

interface

...

implementation

...

initialization
  MyGlobalVar := TMyGlobalVar.Create;
finalization
  FreeAndNil(MyGlobalVar);
end.
Run Code Online (Sandbox Code Playgroud)

或者在你的情况下...

initialization
  next_ID := 1;
Run Code Online (Sandbox Code Playgroud)

特别是您的场景不需要一个finalization部分。