2009-07-08 22 views
6

私はグーグルで、私はここで他の "重複"を見たことがありますが、Delphi 2009で更新されたものはありません。Delphi 2009で静的変数を宣言する方法は?

C#のように、最終的にはグローバル変数のように動作しますが、ソートされます。

デルファイ2009でこれを行うための最短の方法は何ですか?

EDIT

私はあなたの答えの一部を踏襲したが、それは動作しません。

タイプ:

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 
+0

"...しかしそのソート済み" - それはどういう意味ですか? – jpfollenius

+0

そしてあなたの静的変数を宣言するスコープレベルは?機能レベル?クラスレベル?ユニットレベル? – jpfollenius

+0

http://edn.embarcadero.com/article/34324。これは私が何を望むかです。静的メソッドの例を見てください。 "TMyClass.X:= 17"は、インスタンスを作成する必要なしに使いたいものですしかし、デルファイ2009で私にとってはうまくいきません。構文エラーが出る –

答えて

18
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にクラスに注意してください。あなたはその部分を忘れてしまった。

+0

自分のコードを見ることができるように私の質問を編集しました。あなたのコードを覚えているとエラーが出ます。 –

+0

私は "クラス"を忘れました。今は完璧に動作します! –

+0

プロパティのデフォルト値を指定することもできます。 – skamradt

関連する問題