Возможно ли (и если да, как я) сделать одну работу программы как консольного приложения, так и версии GUI с использованием Delphi 2007?
Что мне нужно, так это то, что если программа запускается с соответствующими параметрами командной строки, она должна работать как консольная программа, печатая вывод на консоль с помощью WRITELN, но если аргументы командной строки не заданы, она должна работать как обычное приложение для графического интерфейса Delphi?
Ловушка заключается в том, что при запуске в качестве консольного приложения интерпретатор командной строки ждет завершения приложения, прежде чем разрешить вам вводить новую команду, тогда как приложение GUI, запущенное из командной строки, немедленно возвращает вас в командную строку и приложение GUI запускается в отдельном процессе. Я хочу сохранить это поведение.
Я не против чего-то вроде этого:
IF GUI THEN StartApplicationAsGUI (ParamStr (0))
т. Я не против, что мне придется перезапустить приложение, используя какой-либо вызов EXECUTE, чтобы запустить его в режиме графического интерфейса, если это необходимо, если интерфейс командной строки возвращается к вводу командной строки при запуске версии графического интерфейса.
Я бы предпочел решение/предложение, которое соответствует строкам:
< Parse Comnand Line >
IF ConsoleMode THEN
RunConsole (Параметры)
ELSE BEGIN
Application.Initialize;
Application.CreateForm(...)
Application.Run;
END
(или наоборот, т.е. делать что-то особым образом, если режим GUI)
чтобы я мог использовать Delphi IDE и VCL при создании интерфейса GUI...