Firemonkey:如何使用TScreen.Forms迭代应用程序中的所有表单

时间:2015-10-08 20:46:19

标签: c++ forms firemonkey c++builder-xe8

我正在尝试遍历我在应用程序中打开的表单。我找到了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...

但是,这两个对象中都不存在FormsTScreen

如何访问Forms.TScreen.Forms

1 个答案:

答案 0 :(得分:2)

错误给你一个线索:

  

成员TScreen :: FormCount不能用于没有对象

TScreen是一个类,而不是一个对象。 FormCount不是类的静态成员,因此您需要TScreen类的对象实例。并且为您提供了这样一个对象 - 全局Screen对象:

ShowMessage( Screen->FormCount );

这在文档中说明:

FMX.Forms.TScreen

  

有一个TScreen类型的全局变量Screen,它被实例化以供具有GUI的任何应用程序使用。使用Screen获取有关应用程序中屏幕当前状态的信息。

FMX.Forms.Screen

  

extern DELPHI_PACKAGE TScreen *屏幕;