gpt4 book ai didi

delphi - TScreen->表单显示意外的额外表单

转载 作者:行者123 更新时间:2023-12-02 03:01:33 24 4
gpt4 key购买 nike

我正在使用 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(int j=0; j<Screen->CustomFormCount; j++){
MyName = Screen->CustomForms[j]->Name;
MyCaption = Screen->CustomForms[j]->Caption;
}

最佳答案

您可以使用ClassName属性来查找更多信息。

但是,例如,如果某些表单是普通的 TForm,或者您不认识该名称,那么这可能不会显示任何有用的信息。要真正弄清楚这些表单是什么,请在 TCustomForm.Create 中设置一个断点,并在每次触发该断点时检查调用堆栈。

关于delphi - TScreen->表单显示意外的额外表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59855393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com