Zum Hauptinhalt springen

C16_InitInstance

C16_InitInstance(const vPHANDLE aPgifHdl,vPHANDLE* aInstHdl) : vERROR

Datenbank Instanz initialisieren

Details

Der Befehl initialisiert eine Datenbank-Instanz und stellt den dazugehörigen Instanz-Handle, der für das Öffnen einer Datenbank benötigt wird, in (aInstHdl). In (aPgifHdl) wird der von C16_InitPgif() bereitgestellte Modul-Handle übergeben.

info

Die Programmierschnittstelle ist nicht thread-sicher. Aufrufe müssen selbstständig synchronisiert werden, wenn von unterschiedlichen Threads auf die gleiche Instanz zugegriffen wird.

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

Für jede Datenbank, auf die zugegriffen wird, ist eine eigene Datenbank-Instanz anzulegen.

Beispiel:

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

// Modul initialisieren und 4MB Speicher reservieren
nRes = C16_InitPgif(0x00400000, &hModule);
// Instanz initialisieren
nRes = nRes + C16_InitInstance(hModule, &hInstance);
// Datenbank öffnen
nRes = nRes + C16_OpenArea(hInstance, "TCP:CENTRAL", NULL,
"CENTRAL:\AS\T40", "USER", "UserPassword",
NULL, NULL, 32);
if(nErg <> 0)
{
sprintf(pszMsgText
"Error %d at opening database\n", nRes);
MsgBox(pszMsgText);
}
// Verarbeitung fortsetzen
C16_CloseArea(hInstance); // Datenbank schließen
C16_TermInstance(hInstance); // Instanz beenden
C16_TermPgif(hModule); // Modul beenden
}