Как завершить приложение?
{
ADOConnection1->Connected = true;
}
catch(...)
{
MessageDlg("Ошибка", mtError, TMsgDlgButtons() << mbOK, 0);
DestroyWindow(Application->Handle);
Application->ProcessMessages();
}
Так правильно?
{
ADOConnection1->Connected = true;
}
catch(...)
{
MessageDlg("Ошибка", mtError, TMsgDlgButtons() << mbOK, 0);
DestroyWindow(Application->Handle);
Application->ProcessMessages();
}
Так правильно?
TApplication::Terminate
А в каком случае Close() не будет работать?
А в каком случае Close() не будет работать?
В OnFormCreate, TForm:TForm(...)
void __fastcall TMain::ApplicationEventsException(TObject *Sender,
Exception *E)
{
Application->Terminate();
}
или
ExitProcess(0);
Как корректно написать код. Нужно закрыть приложение, потом открыть батник (*.bat). Это необходимо т.к. батник перемещает программу, которая его запустила.
Как корректно написать код. Нужно закрыть приложение, потом открыть батник (*.bat). Это необходимо т.к. батник перемещает программу, которая его запустила.
Если я правильно понимаю, нужно переместить программу(не скопировать), можно просто скопировать программу перед выходом, а потом запускаешь батник, который удаляет текущюю программу.
Как его запустить автоматически по закрытии главной программы? Пробовал через Winexe, батник только мелькает на экране, и не выполняет свое содержимое (переместить прогу, запустить эту прогу из нового места).
в теле самого ехе-шника врядли удасться запустить его удаление...
можно сделать что бы bat-ник запускал аппликуху, и последенй строчкой после ее завершения удалял
DeleteFile(ParamStr(2));
и из батника запускать прогу в новоустановленом месте так: new_dir\app.exe /delete old_dir\app.exe.
Хотя помоему это полный изврат.
del SomeFile.exe
if exist SomeFile.exe goto SomeLabel
PostQuitMessage(0);
прекрасно работает В OnFormCreate, TForm:TForm(...)
А вот на это вылетает ошибка.
ExitProcess(0);
У меня такой вопрос
после команды PostQuitMessage(0);
прерывается выполнения функции или
нужно писать Abort(); ?
PostQuitMessage(0);
прекрасно работает В OnFormCreate, TForm:TForm(...)
А вот на это вылетает ошибка.
ExitProcess(0);
У меня такой вопрос
после команды PostQuitMessage(0);
прерывается выполнения функции или
нужно писать Abort(); ?
The PostQuitMessage function posts a WM_QUIT message to the thread's message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future.
When the thread retrieves the WM_QUIT message from its message queue, it should exit its message loop and return control to the system. The exit value returned to the system must be the wParam parameter of the WM_QUIT message.
ЗЫ: возможны утечки памяти... хотя винда наверно умная, справится
перед PostQuitMessage поудалять все динамически-созданные объекты