delphi - 如何在Delphi 2009中声明静态变量?

标签 delphi class static delphi-2009

我用谷歌搜索,我 Guzzle ,我已经在这里看到了其他“重复项”,但它们都不能在更新到更新 4 的 Delphi 2009 中工作。

就像在C#中一样,我想在线或尽可能短地创建一个静态变量。最终它的工作方式就像一个全局变量,但它是排序的。

在 delphi 2009 中执行此操作的最短方法是什么?

编辑

我遵循了你的一些答案,但它不起作用。

类型:

type
TmyClass = class(TObject)
  var staticVar:integer;
end;

代码:

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
  TMyClass.staticVar := 5; // Line 31
  a := TMyClass.staticVar; // Line 32
  MessageBox(0,IntToStr(a),'',0);
end;

我收到以下错误:

[DCC Error] Unit1.pas(31): E2096 Method identifier expected 

[DCC Error] Unit1.pas(32): E2096 Method identifier expected

最佳答案

type
  TMyClass = class(TObject)
  private
    class var FX: Integer;
  public
    class property X: Integer read FX write FX;
  end;

如果您不使用属性,则更短

type
  TMyClass = class(TObject)
  public
    class var X: Integer;
  end;

编辑:注意类var中的。你忘了那部分。

关于delphi - 如何在Delphi 2009中声明静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1096355/

相关文章:

delphi - 类帮助器语法中 `ancestor list` 的用途是什么?它记录在哪里?有使用示例吗?

javascript - typescript 类装饰器 : typing properties defined in decorator function

delphi - "TypeIdentifier"的定义在哪里

德尔福XE2 : OnHideHint event to automatically restore the previous text in the StatusBar?

Delphi 事件窗口屏幕截图

java - 没有找到主要类

ruby - 在循环中创建类对象

java - 静态字符串难题神秘行为

c# - 如何在 XAML 中绑定(bind)到静态属性?

JavaScript 使类的方法静态并可供其实例使用