Zum Hauptinhalt springen

C16_InitPgif

C16_InitPgif(const vLONG aMemoryLimit,vPHANDLE* aPgifHdl) : vERROR

Programmierschnittstelle initialisieren

Details

Der Befehl initialisiert die DLL und stellt den dazugehörigen Modul-Handle, der für das Anlegen der Datenbank-Instanzen benötigt wird, in (aPgifHdl) zur Verfügung.

Die maximale Größe des Speicherbereiches in Byte, der zum Laden der Datenstrukturen sowie zum Anlegen der Instanzen (jede Instanz belegt 64 KB) und der Datenpuffer angefordert werden kann, wird in dem Parameter (aMemoryLimit) angegeben. Hierbei handelt es sich um eine reine Speicherreservierung; der Speicher wird nicht gleich vom Programm belegt. Die benötigte Speichergröße hängt von der Anzahl und Größe der Datenstrukturen (ohne Masken) und der zusätzlichen Datenpuffer ab. In der Regel ist eine Größe von 4 MB ausreichend.

Der Parameter (aPgifHdl) beinhaltet nach erfolgreicher Ausführung des Befehls den Modul-Handle, der für das Anlegen der Datenbank-Instanz benötigt wird.

Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).

info

Die Funktion C16_InitPgif() muss einmal zu Programmbeginn aufgerufen werden.

Beispiel:

void main(void)
{
char pszMsgText[80];
vERROR nErg; // Funktionsergebnis
vPHANDLE hModule; // Modul-Handle
vPHANDLE hInstance; // Instanz-Handle

// Modul initialisieren und 4MB Speicher reservieren
nErg = C16_InitPgif(0x00400000, &hModule);
// Instanz initialisieren
nErg = nErg + C16_InitInstance(hModule, &hInstance);
// Datenbank öffnen
nErg = nErg + C16_OpenArea(hInstance, "TCP:CENTRAL", NULL,
"CENTRAL:\AS\T40", "USER", "UserKennwort",
NULL, NULL, 32);
if(nErg != 0)
{
sprintf(pszMsgText,
"Fehler %d beim Öffnen der Datenbank\n", nErg);
MsgBox(pszMsgText);
}
// Verarbeitung fortsetzen
C16_CloseArea(hInstance); // Datenbank schließen
C16_TermInstance(hInstance); // Instanz beenden
C16_TermPgif(hModule); // Modul beenden
}