Die Anweisung Quit [Exit-Code] beendet ein Programm sofort. Alle Fenster werden zuerst geschlossen und dann gelöscht.
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.
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()
Artikel