7 Ablauf beim Programmstart
Als Startfunktion für Sys920 ist im Verteilparameter Start920(...) angegeben. Diese Funktion geht folgendermaßen vor: Zuerst wird geprüft, ob der Benutzer die Supervisor-Rechte besitzt, und ob evtl. noch alte Sicherungskopien von einer fehlerhaften Sys920-Sitzung existieren. Unter Umständen wird dann nach einer entsprechenden Meldung das Programm sofort beendet.
Im Normalfall kann jedoch weitergemacht werden. Dann werden der PrivateActionHandler und die privaten Callbacks registriert, sowie die modulglobalen Variablen initialisiert. Anschließend wird das Dialog-Objekt Sys920MainDialog erzeugt und mit StartFrame(...) der zugehörige nichtmodale Frame gestartet.
Als Create-Callback für den Hauptdialog ist iCBp920DialogCreate hinterlegt, wobei es sich hierbei um die Create-Callback für den Basisdialog handelt. Dies ist möglich, da beim Create-Event für den Hauptdialog keine Methoden des Sys920MainDialog -Objekts gerufen werden müssen.
Allgemein kann gesagt werden: Muss beim Create einer Dialog-Klasse keine Methode dieser Klasse ausgeführt werden, so kann beim Create-Event dieser Klasse die Callback iCBp920DialogCreate hinterlegt werden. Soll jedoch eine entsprechende Methode aufgerufen werden, so muss eine eigene Callback definiert werden, die als erstes iCBp920DialogCreate ausführt und dann die klassenspezifischen Aktionen durchführt. Der Grund hierfür liegt darin, dass zum Aufruf einer Methode aus einer Callback die Adresse des Dialog-Objekts bekannt sein muss. Diese wird über die Funktion ThisDialogPointer(...) ermittelt, die diese wiederum beim zugehörigen GUI-Frame erfragt. Dort abgelegt wird die Adresse aber erst durch die Funktion iCBp920DialogCreate. Außer dieser Adresse werden durch diese Funktion auch noch die anderen Zeiger, die in der Basisklasse als Attribute gehalten werden, ermittelt und gesetzt.
Schließlich wird noch die Show-Callback ausgeführt. Dadurch wird letzten Endes die Methode Sys920MainDialog::MakeUp(...) gerufen, was zum Füllen der ScrolledTabList führt.