цель: создание приложения, которое будучи запущенным с параметрами в командной строке, отрабатывает в консольном окне, а без параметров - открывает всякие формы.
решение: создаем новый(или берем старый) Application, сохраняем, закрываем проект, в bpr-файле меняем:
| Код | <LFLAGS value="... -aa -Tpe ..."/> ... <ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
|
на
| Код | <LFLAGS value="... -ap -Tpe ..."/> ... <ALLOBJ value="c0x32.obj sysinit.obj $(OBJFILES)"/>
|
в файле, содержащем WinMain(по умолчанию это Project1.cpp) заменяем это:
| Код | #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- USEFORM("Unit1.cpp", Form1); //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { try { Application->Initialize(); ...
|
на это:
| Код | #include <vcl.h> #pragma hdrstop #include <stdio.h> //--------------------------------------------------------------------------- USEFORM("Unit1.cpp", Form1); //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { if (argc > 1) { printf("hello world! arg: %s\n", argv[1]); } else { FreeConsole(); try { Application->Initialize(); ...
|
все.  |