User Tools

Site Tools


k10:k10.5:k10.5.2:start

10.5.2 Quit

The statement Quit[Exit Code] terminates a program immediately. All windows are closed first and then deleted.

10.5.2.1 Example 1

PUBLIC FUNCTION Calcmean(fSum AS Float, fCount AS Float) AS Float 
 
  IF fCount = 0 THEN 
     PRINT "Division by zero in the function Calcmean" 
     QUIT 
  ENDIF ' fCount = 0 ?
 
  RETURN (fSum / fCount )
 
END ' FUNCTION Calcmean(fSum AS Float, fCount AS Float) AS Float 

The documentation emphasizes that the command is not very successful in connection with GUI programs. You should therefore use QUIT primarily in console applications.

As of Gambas version 3.4, you can optionally give the program to be terminated an exit code that is returned to the higher-level process. The default exit code is 0, or you can evaluate and comment on your own value for the exit code.

10.5.2.2.2 Example 2

Especially if you want to pass on a program and another (console) program is called in it, it is not always certain whether this program is installed on the system. Without a request or appropriate error handling routines, the main program would crash with a corresponding error message. In the following case, the main program is terminated cleanly with QUIT if the (console) program Subversion is not installed:

Public Sub Form_Open()
' …
  If Not CheckSubversion() Then 
     Message.Error("The SUBVERSION program is not installed. \nProgram abort.")
     QUIT
  Endif ' CheckSubversion() = True ?
' …
End ' Form_Open()
 
Private Function CheckSubversion() As Boolean
  Exec ["which", "svn"] Wait For Read
  If Process.LastValue <> 0 Then ' Wert <> 0 => The client subversion is NOT installed
     Return False
  Endif ' Process.LastValue <> 0?
  Return True
End ' Function CheckSubversion()

Download

Articles

Download


10.5.2 Quit

Die Anweisung Quit [Exit-Code] beendet ein Programm sofort. Alle Fenster werden zuerst geschlossen und dann gelöscht.

10.5.2.1 Beispiel 1

PUBLIC FUNCTION Calcmean(fSum AS Float, fCount AS Float) AS Float 
 
  IF fCount = 0 THEN 
     PRINT "Division durch Null in der Funktion Calcmean" 
     QUIT 
  ENDIF ' fCount = 0 ?
 
  RETURN (fSum / fCount )
 
END ' FUNCTION Calcmean(fSum AS Float, fCount AS Float) AS Float 

Die Dokumentation betont, dass der Befehl nicht sehr erfolgreich im Zusammenhang mit GUI-Programmen ist. Sie sollten QUIT deshalb vorwiegend in Konsolen-Anwendungen verwenden.

Optional können Sie – ab Gambas-Version 3.4 – dem zu beendenden Programm einen Exit-Code mitgeben, der an den übergeordneten Prozess zurück gegeben wird. Standardmäßig ist der Exit-Code 0. Alternativ können Sie den eigenen Wert für den Exit-Code auswerten und kommentieren.

10.5.2.2 Beispiel 2

Vor allem dann, wenn Sie ein Programm weitergeben möchten und in diesem ein anderes (Konsolen-) Programm aufgerufen wird, ist nicht immer sicher, ob genau dieses Programm auf dem System installiert ist. Ohne Nachfrage oder geeignete Fehlerbehandlungsroutinen würde das Hauptprogramm mit einer entsprechenden Fehlermeldung abstürzen. Im folgenden Fall wird das Hauptprogramm jedoch sauber mit QUIT beendet, wenn das (Konsolen-)Programm Subversion nicht installiert ist:

Public Sub Form_Open()
' …
  If Not CheckSubversion() Then 
     Message.Error("Das Programm SUBVERSION ist nicht installiert.\nProgramm-Abbruch.")
     QUIT
  Endif ' CheckSubversion() = True ?
' …
End ' Form_Open()
 
Private Function CheckSubversion() As Boolean
  Exec ["which", "svn"] Wait For Read
  If Process.LastValue <> 0 Then ' Wert <> 0 => Der Client Subversion ist NICHT installiert
     Return False
  Endif ' Process.LastValue <> 0?
  Return True
End ' Function CheckSubversion()

Download

Artikel

Download

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k10/k10.5/k10.5.2/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools