RAD Studio VCL Reference
|
Ends application execution.
procedure Terminate;
__fastcall Terminate();
Call Terminate to end the application programmatically. By calling Terminate rather than freeing the application object, you allow the application to shut down in an orderly fashion.
Terminate calls the Windows API PostQuitMessage function to perform an orderly shutdown of the application. Terminate is not immediate.
Terminate is called automatically on a WM_QUIT message and when the main form closes.
C++ Examples:
/* The following example beeps once for each "beep" passed in on the command line. The example terminates the application if "exit" is passed in on the command line. Build the project to generate a .exe file and then execute that file from a command line: "ParamCount_proj beep beep exit". */ void __fastcall TForm1::FormCreate(TObject *Sender) { // Use print statements since you can't use the debugger. // MessageDlg( // "System ParamStr = " + AnsiString(System::ParamStr(i)), // mtConfirmation, TMsgDlgButtons() << mbOK, 0); for (int i=1;i<=ParamCount();i++) { if (LowerCase(ParamStr(i)) == "beep") Beep(); else if (LowerCase(ParamStr(i)) == "exit") Application->Terminate(); } }
/* In addition to displaying the exception message, which happens by default, the following code shuts down the application when an exception is not caught and handled. AppException should be declared a method of TForm1. */ #include <System.hpp> #include <SysUtils.hpp> void __fastcall TForm1::FormCreate(TObject *Sender) { Application->OnException = AppException; } //--------------------------------------------------------------------------- void __fastcall TForm1::AppException(TObject *Sender, Exception *E) { Application->ShowException(E); Application->Terminate(); } void __fastcall TForm1::Button1Click(TObject *Sender) { throw(Exception("Hardware error: Divide by 0")); }
Delphi Examples:
{ The following example beeps once for each "beep" passed in on the command line. The example terminates the application if "exit" is passed in on the command line. Build the project to generate a .exe file and then execute that file from a command line: "ParamCount_proj beep beep exit". } procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin // Use print statements since you can't use the debugger. // MessageDlg( // 'System ParamCount = ' + IntToStr(System.ParamCount), // mtConfirmation, [mbOK], 0); for i := 1 to System.ParamCount do begin if LowerCase(ParamStr(i)) = 'beep' then Beep else if LowerCase(ParamStr(i)) = 'exit' then Application.Terminate; Sleep(250); end; end;
{ In addition to displaying the exception message, which happens by default, the following code shuts down the application when an exception is not caught and handled. AppException should be declared a method of TForm1. } procedure TForm1.FormCreate(Sender: TObject); begin Application.OnException := AppException; end; procedure TForm1.AppException(Sender: TObject; E: Exception); begin Application.ShowException(E); Application.Terminate; end; procedure TForm1.Button1Click(Sender: TObject); begin raise EPasswordInvalid.Create('Incorrect password entered'); end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|