1

アプリケーションで開いているフォームを繰り返し処理しようとしています。私の目標を達成するために使用できるように見えるFMX.Forms.TScreen.Formsのドキュメントを見つけました。とはいえ、どのように使うべきか迷っています。

最初に、フォームの CPP ファイル内の関数でこれを試しました。

ShowMessage( Forms::TScreen::FormCount );

これによりエラーが発生しました'Member TScreen::FormCount cannot be used without an object'

Applicationこれは、フォームまたはグローバル変数からこのプロパティにアクセスする必要があることを意味すると考えました。両方試してみました

this->Forms...
Application->Forms...

this->TScreen...
Application->TScreen...

ただし、これらのオブジェクトのいずれに Formsも存在しません。TScreen

にアクセスするにはどうすればよいForms.TScreen.Formsですか?

4

2 に答える 2

3

エラーはあなたに手がかりを与えます:

メンバ TScreen::FormCount はオブジェクトなしでは使用できません

TScreenオブジェクトではなくクラスです。 FormCountはクラスの静的メンバーではないため、クラスのオブジェクト インスタンスが必要ですTScreen。そして、そのようなオブジェクトが提供されます - グローバルScreenオブジェクト:

ShowMessage( Screen->FormCount );

これはドキュメントに記載されています:

FMX.Forms.TScreen

Screenタイプのグローバル変数 がありTScreen、GUI を使用するアプリケーションで使用するためにインスタンス化されます。Screenアプリケーションの画面の現在の状態に関する情報を取得するために使用します。

FMX.Forms.Screen

extern DELPHI_PACKAGE TScreen* 画面。

于 2015-10-11T17:52:11.360 に答える
0

うまく機能するのは次のとおりです。

ShowMessage(Screen->FormCount);

Screenのようなグローバル オブジェクトですApplication。コンパイラは、それFormCountは静的メソッドまたはsmthではないと言いました。

于 2015-10-10T03:44:40.133 に答える