Я пытаюсь перебрать формы, которые я открыл в своем приложении. Я нашел документацию для 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
?
Ошибка дает вам подсказку:
Член TScreen :: FormCount не может быть использован без объекта
TScreen
это класс, а не объект. FormCount
не является статическим членом класса, поэтому вам нужен экземпляр объекта TScreen
учебный класс. И такой объект предоставляется вам — глобальный Screen
объект:
ShowMessage( Screen->FormCount );
Об этом говорится в документации:
Существует глобальная переменная,
Screen
, типаTScreen
, который создается для использования любым приложением с графическим интерфейсом. использованиеScreen
получить информацию о текущем состоянии экрана в приложении.
extern DELPHI_PACKAGE TScreen * Экран;
Вот что работает хорошо:
ShowMessage(Screen->FormCount);
Screen
это глобальный объект, как Application
, Компилятор сказал, что FormCount
это не статический метод или что-л.