Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C++ Builder中从加载屏幕打开窗体_C++_C++builder_Vcl - Fatal编程技术网

在C++ Builder中从加载屏幕打开窗体

在C++ Builder中从加载屏幕打开窗体,c++,c++builder,vcl,C++,C++builder,Vcl,我有一个带有主窗体的应用程序,它是一个加载屏幕。在后台执行某些操作(如决定下一步启动哪个表单)时,将显示此表单。我无法让它工作,我一直有访问冲突错误 多亏了这个主题,我才明白为什么。但我不接受提议的解决方案,因为我不知道在设计时会首先显示哪个表单 正确的方法是什么 我有一个带有主窗体的应用程序,它是一个加载屏幕 不要那样做。在VCL中,一旦设置了主窗体,就不能对其进行更改,并且当主窗体关闭时,应用程序将退出。MainForm是通过第一次调用Application->CreateForm来设置的。

我有一个带有主窗体的应用程序,它是一个加载屏幕。在后台执行某些操作(如决定下一步启动哪个表单)时,将显示此表单。我无法让它工作,我一直有访问冲突错误

多亏了这个主题,我才明白为什么。但我不接受提议的解决方案,因为我不知道在设计时会首先显示哪个表单

正确的方法是什么

我有一个带有主窗体的应用程序,它是一个加载屏幕

不要那样做。在VCL中,一旦设置了主窗体,就不能对其进行更改,并且当主窗体关闭时,应用程序将退出。MainForm是通过第一次调用Application->CreateForm来设置的。如果要在创建主窗体之前创建窗体,则必须使用新运算符,例如:

应用程序->初始化; t加载表单*加载表单=新的t加载表单应用程序; 加载表单->显示; 加载表单->更新; ... 应用程序->CreateForm\uU ClassidForm1和&Form1; ... 加载窗体->关闭; 删除加载表单; 应用程序->运行; ... 如果您想在运行时决定哪个TForm将是真正的主窗体,您可以这样做,例如:

应用程序->初始化; t加载表单*加载表单=新的t加载表单应用程序; 加载表单->显示; 加载表单->更新; ... 如果有某种情况 应用程序->CreateForm\uU ClassidForm1和&Form1; 其他的 应用程序->CreateForm\uuU ClassidForm2和&Form2; ... 加载窗体->关闭; 删除加载表单; 应用程序->运行; ... 但是,请注意,IDE拥有主项目源文件,并且它可能会在项目开发生命周期的某个时刻修改/删除/损坏您的自定义代码。因此,在调用Application->Initialize和Application->Run之间放置自定义代码时要非常小心。确保你有好的备份