Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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+中管理多个表单+;生成器XE3 我正在使用C++ Builder XE3作为我的测试应用程序。项目组包含DLL(带窗体)和EXE(包含主窗体和其他窗体)。当我使用form->Show()函数调用DLL表单时,DLL表单不会位于顶部,而是位于主表单和其他EXE表单之后。即使是BringToFront()方法也不起作用。 DLL表单的行为是否与EXE表单的行为类似_C++_C++builder Xe3 - Fatal编程技术网

在C+中管理多个表单+;生成器XE3 我正在使用C++ Builder XE3作为我的测试应用程序。项目组包含DLL(带窗体)和EXE(包含主窗体和其他窗体)。当我使用form->Show()函数调用DLL表单时,DLL表单不会位于顶部,而是位于主表单和其他EXE表单之后。即使是BringToFront()方法也不起作用。 DLL表单的行为是否与EXE表单的行为类似

在C+中管理多个表单+;生成器XE3 我正在使用C++ Builder XE3作为我的测试应用程序。项目组包含DLL(带窗体)和EXE(包含主窗体和其他窗体)。当我使用form->Show()函数调用DLL表单时,DLL表单不会位于顶部,而是位于主表单和其他EXE表单之后。即使是BringToFront()方法也不起作用。 DLL表单的行为是否与EXE表单的行为类似,c++,c++builder-xe3,C++,C++builder Xe3,提前感谢。您的DLL很可能编译为独立的可执行文件,因此与主EXE不共享相同的RTL实例,因此它没有EXE的TApplication和MainForm窗口的概念。您应该在BPL包而不是DLL中实现表单,或者至少在EXE和DLL项目中启用运行时包。然后它们将共享一个公共RTL实例。在DLL和EXE项目中都启用了运行时包。仍然不起作用。将DLL项目转换为BPL可能不可行。还有其他选择吗?

提前感谢。

您的DLL很可能编译为独立的可执行文件,因此与主EXE不共享相同的RTL实例,因此它没有EXE的
TApplication
MainForm
窗口的概念。您应该在BPL包而不是DLL中实现表单,或者至少在EXE和DLL项目中启用运行时包。然后它们将共享一个公共RTL实例。

在DLL和EXE项目中都启用了运行时包。仍然不起作用。将DLL项目转换为BPL可能不可行。还有其他选择吗?