Implizite Programm-Module
Programmstart und -ende
Programm-Start
Jedes Xbase++-Programm durchläuft eine Anzahl von Funktionen, die als initiale Startsequenz betrachtet werden können. Vier dieser Funktionen sind zwingend, weitere optional.
Die Reihenfolge und die Funktionen sind:
- ErrorSys()
- AppSys()
- DBESys()
- alle INIT PROCEDUREs
- Main()
Die drei ersten Funktionen sind in der Xbase++-Laufzeitumgebung vorhanden und werden von dort geladen, wenn der Programmierer keine eigenen Funktionen dieses Namens definiert hat.
Vom Programmierer benannte INIT PROCEDUREs werden in einer willkürlichen Reihenfolge abgearbeitet, ehe Main() aufgerufen wird.
Die Funktion Main() muss vom Programmierer vorgegeben werden, da sie explizit von der Xbase++-Laufzeitumgebung angefordert wird: wenn sie fehlt, schlägt das Linken des Programms fehl.
Programm-Ende
Es gibt keine zwingende Funktion, die am Programm-Ende ausgeführt wird, es steht dem Programmierer jedoch frei, über EXIT PROCEDUREs bestimmte Abläufe am Programm-Ende auszuführen.
Reihenfolge der Start-Funktionen
Als erstes wird ErrorSys() aufgerufen, um sicherzustellen, dass eine Fehlerbehandlung definiert ist, wenn (gerade auch beim Programmstart) ein Programmfehler auftritt.
Danach wird AppSys() aufgerufen, um ein Anwendungsfenster zu erzeugen, das als zentraler Punkt des Programms fungiert.
Danach wird über DbeSys() der Zugriff auf DBEs und Compound DBEs eingerichtet.
Alle drei Funktionen sind in gleichnamigen Programm-Quellen hinterlegt. Die Programm-Quellen findet man in \XppW32\Source\Sys.
Will man z.B. ein Programm ohne Datenzugriff (oder Datenzugriff über SQL oder ODBC), kann auch eine leere DbeSys-Funktion verwendet werden:
FUNCTION DBESys() // RETURN(.T.)
Dies gilt analog auch für ErrorSys() (wo es sich nicht empfiehlt), und für AppSys().