В C ++ консольное приложение может иметь обработчик сообщений в своей процедуре Winmain. Как это:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
HWND hwnd;
MSG msg;
#ifdef _DEBUG
CreateConsole("Title");
#endif
hwnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, DlgProc);
PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
while(msg.message != WM_QUIT)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if(IsDialogMessage(hwnd, &msg))
continue;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
return 0;
}
Это делает процесс не закрытым, пока окно консоли не получит сообщение WM_QUIT.Я не знаю, как сделать что-то подобное в Delphi.
Мне нужен не точно обработчик сообщений, а легкая «хитрость», чтобы заставить консольное приложение работать как приложение с графическим интерфейсом с использованием потоков.Так, например, два сервера Indy TCP могут обрабатываться без остановки консольного приложения.
Мой вопрос: как это можно сделать?