Я использую C ++ Builder 10.3 Rio и приложение VCL windows. Я использую TScreen-> Forms для получения информации о моих программах открытых форм. Это показывает более высокий FormCount, чем я ожидал. В моем приложении есть две открытые формы (1) основная форма программы и (2) диалоговое окно ввода данных. Когда я проверяю Screen-> FormCount, он показывает 6 форм. Когда я проверяю название и заголовок формы в цикле for ниже, только у 2 моих форм есть имя и заголовок. Другие имена форм и подписи имеют значение NULL. Я могу идентифицировать свои формы, используя dynamic_cast или имя формы. Каковы другие дополнительные формы? Как я могу определить другие формы?
UnicodeString MyName, MyCaption;
for(int j=0; j<Screen->FormCount; j++){
MyName = Screen->Forms[j]->Name;
MyCaption = Screen->Forms[j]->Caption;
TMyForm *MyLocal = dynamic_cast<TMyForm *>( Screen->Forms[j] );
}
for(j=0; j<Screen->CustomFormCount; j++){
MyName = Screen->CustomForms[j]->Name;
MyCaption = Screen->CustomForms[j]->Caption;
}