【发布时间】:2015-05-30 18:19:02
【问题描述】:
在旧版本的 Borland C++Builder 中,您使用控制台向导来启动 Win32 程序。现在从 XE5 中消失了!我该如何开始?
【问题讨论】:
-
呃,文件 |新...
标签: winapi c++builder c++builder-xe5
在旧版本的 Borland C++Builder 中,您使用控制台向导来启动 Win32 程序。现在从 XE5 中消失了!我该如何开始?
【问题讨论】:
标签: winapi c++builder c++builder-xe5
您要查找的向导位于:
文件 > 新建 > 其他 ... > C++Builder 项目 > 控制台应用程序
但是,自 XE2 以来,向导对话框已损坏,并且在最新版本(撰写本文时为 XE7)中仍未修复。
对话框有一个下拉列表来选择“目标框架”。如果将此设置为“无”,您可能会在链接时收到“未解决的外部”错误。所以你可能不得不选择“Visual Component Library”或“FireMonkey”。
对话框有一个“控制台应用程序”复选框,默认情况下会选中该复选框并且禁止用户交互。
因此,您只能创建使用 main() 入口点的控制台应用程序,而不是使用 WinMain() 入口点的 Win32 应用程序。幸运的是,注册表中有一个解决方法:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\<version>\Repository\New Console Application
(REG_SZ) "ConsoleApp" = "True" or "False"
将"ConsoleApp" 设置为"True" 或"False" 以指定复选框的默认状态。通过将其设置为"False",您可以创建一个使用WinMain() 入口点的控制台应用程序。
另外,使用WinMain() 入口点创建 Win32 应用程序的另一种方法是创建一个新的 VCL 表单应用程序并从项目中删除默认生成的 MainForm 并从默认值中删除任何您不想要的代码生成WinMain()。
Embarcadero 知道这些错误(我已私下与他们讨论过,他们已确认对话框代码中存在一些导致此问题的奇怪之处)。我没有看到他们的任何 QualityCentral 票证,因此我现在提交了 QualityPortal 票证。
RSP-10796 C++ Console Application wizard is broken
希望他们最终会得到修复。
【讨论】: