在我的课堂上,我需要使用静态变量(static int next_id
;在C ++中)
我用
private
class var next_id: Integer;
我收到错误:PROCEDURE or FUNCTION expected
。如何用 Delphi 5 声明一些变量?
答案 0 :(得分:5)
在Delphi 5中,你不能。 Delphi 5中没有类变量。
然而,下一个最好的事情是该单元的实施部分中的全局变量。
unit Whatever;
...
implementation
var
next_ID: Integer;
...
initialization
next_ID := 0;
end.
或者,在最底层:
begin
next_ID := 0;
end.
答案 1 :(得分:2)
扩展Rudy的答案......
Delphi 5尚未提供此功能。但你至少可以声明一个全局变量。我不会复制Rudy的代码,但我会添加它以便初始化它们(并在必要时进行清理),您应该使用单元的initialization
(和finalization
)部分。这些都是Delphi单元的最底层,就像这样......
unit Whatever;
...
interface
...
implementation
...
initialization
MyGlobalVar := TMyGlobalVar.Create;
finalization
FreeAndNil(MyGlobalVar);
end.
或者在你的情况下......
initialization
next_ID := 1;
特别是您的方案不需要finalization
部分。
答案 2 :(得分:-1)
类变量声明示例:
unit Unit2;
interface
type
GlobalData = class
class var V1: String;
class var X1: Integer;
end;
implementation
end.
来自其他单位的使用样本:
procedure TForm1.FormCreate(Sender: TObject);
begin
GlobalData.V1 := 'Yahoo';
end;
您不需要创建和销毁此类。它将在其他所有内容之前自动创建。
示例中有什么问题:必须在类中声明类变量。我的样本中没有class declaration
。另外,如前所述,Delphi 5(非常老)不支持此功能。