【发布时间】:2009-10-27 07:52:52
【问题描述】:
是否可以(如果可以,我该如何)使用 Delphi 2007 使单个程序既可以作为控制台应用程序也可以作为 GUI 版本运行?
我所追求的是,如果程序使用适当的命令行选项运行,它应该作为控制台程序运行,使用 WRITELN 将输出打印到控制台,但如果没有给出命令行参数,它应该运行为一个普通的 Delphi GUI 应用程序?
问题是,当作为控制台应用程序运行时,命令行解释器在允许您输入新命令之前等待应用程序终止,而从命令行启动的 GUI 应用程序会立即将您返回到命令行并GUI 应用程序在一个分离的进程中启动。我希望保留此行为。
我不介意这样的事情:
IF GUI THEN StartApplicationAsGUI(ParamStr(0))
即。我不介意如果需要,我必须使用某种形式的 EXECUTE 调用重新启动应用程序以在 GUI 模式下启动它,只要在 GUI 版本启动时命令行界面返回到命令行输入。
我更喜欢这样的解决方案/建议:
IF 控制台模式 THEN
RunConsole(参数)
其他开始
应用程序.初始化;
Application.CreateForm(...)
应用程序.运行;
结束
(反之亦然,即在 GUI 模式下以特殊方式做事)
这样我在做GUI界面的时候还是可以使用Delphi的IDE和VCL...
【问题讨论】:
标签: delphi user-interface console