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

外部 DELPHI_PACKAGE TScreen* 屏幕;

于 2015-10-11T17:52:11.360 回答
0

以下是行之有效的方法:

ShowMessage(Screen->FormCount);

Screen是一个全局对象,例如Application. 编译器说那FormCount不是静态方法或smth。

于 2015-10-10T03:44:40.133 回答