掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
クラス内の定義関数について (ID:36426)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
蛇足ですが、 「どこかのクラスに所属させたいが、今回のようにそのクラスの変数には触れない」 という関数は、クラスメソッドとすることでインスタンスを生成することなく使用できます。 定義はprocedureやfunctionの前に"class"と書き、使う際は変数ではなくクラス名から呼び出します。 今回の例で言えばこの様な感じです。 type TForm2 = class(TForm) ... class function sub(a,b:integer):integer; { static; } end; class function TForm2.sub(a,b:integer):integer; begin Result:=a+b; end; procedure TForm1.Button1Click(Sender: TObject); var res : integer; begin res:=TForm2.sub(100,200); // Form2ではなくTForm2 Label1.Caption:=IntToStr(res); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.