OEMLoad
OEMLoad(alpha1[, alpha2[, var alpha3]]) : int
Datenbankdefinition laden
Details
- alpha1: Name der Definitionsdatei
- alpha2: Post-Prozedur (optional)
- var alpha3: Detailierte OEM-Kit-Fehlermeldung (optional)
- Resultat:
intLaderesultat_ErrOkLaden erfolgreich_ErrGenericDatenbank ist mit dem Advanced-Client geöffnet_ErrOemDbaLockDatenbank gesperrt_ErrOemOpenFailedDefinitionsdatei kann nicht geöffnet werden_ErrOemInvalidFormatDefinitionsdatei hat falsches Format oder wurde mit anderer CONZEPT 16-Version erstellt_ErrOemOutOfSpaceNicht genügend Speicher zum Laden verfügbar_ErrOemOpenDesignerProzedur wurde aus Designer gestartet_ErrOemOpenFrameNoch mindestens ein Dialog oder Druckformular geöffnet - Siehe: Verwandte Befehle ,
OEMSave ()
Mit dieser Funktion wird eine Datenbankdefinition geladen. Beim Start der Funktion darf sich kein anderer Benutzer in der Datenbank befinden und es darf kein Dialog mehr offen sein. Die Funktion kann nicht innerhalb des Designers ausgeführt werden.
Die Anweisung kann nur ausgeführt werden, wenn die Datenbank mit dem CONZEPT 16-Standardclient (c16_winc.exe) geöffnet wurde. Wurde der Advanced-Client (c16_apgi.exe) verwendet, wird der Fehler _ErrGeneric zurückgegeben.
Sofern mehrere Definitionsdateien vorhanden sind (.d02 usw.), müssen sich diese im selben Verzeichnis befinden, in dem sich auch die .d01-Datei befindet. Ein Datenträgerwechsel wird nicht unterstützt.
Nach dem erfolgreichen Öffnen der Definitionsdatei und dem Entladen der Datenstruktur kann die Funktion nicht mehr zurückkehren. Tritt nach diesem Zeitpunkt ein Fehler auf, erfolgt eine entsprechende Bildschirmmeldung und der Client wird beendet. Sofern das Einlesen ohne Fehler durchgeführt wurde, wird anschliessend die in (alpha2) angegebene Prozedur gestartet. Ist diese Prozedur Bestandteil der Definitionsdatei, wird die neue Prozedur gestartet. In der Prozedur kann auf neue Strukturelemente, welche über die Definition eingelesen wurden, zugegriffen werden. Nach dem Ende der Prozedur wird der CONZEPT 16-Client beendet.
Existiert die in (alpha2) angegeben Prozedur nicht, wird nach dem Einlesen der Definition die Meldung "<Prozedurname>: Prozedur nicht vorhanden" ausgegeben. Nach Bestätigung der Meldung wird der CONZEPT 16-Client beendet.
Vor dem Einlesen eines Updates muss in jedem Falle eine Sicherung der Datenbank vorgenommen werden. Wird der Einlesevorgang unterbrochen (zum Beispiel durch Ausschalten des Rechners), kann die Datenbank beschädigt werden. Um möglichen Problemen beim Einlesen eines Updates vorzubeugen, sollte vor dem Update eine Diagnose der Datenbank durchgeführt werden.
Beispiel:
if (OEMLoad('C:\C16\Definition', '', var t.aErr) != _ErrOk)
{
WinDialogBox(0, 'Fehler', t.aErr, _WinIcoError, _WinDialogOK, 1);
...
}