BEISPIEL
HINWEIS
double dtm; // Date
short bln; // Boolean
BYTE byt; // Byte
VARIANT vnt;// Variant
BSTR vstrg; // Basic-String
char strg[50]; // fester String
} Testtyp;
Die analoge Deklaration in Access sieht folgendermaßen aus:
Private Type TestTyp
intgr As Integer
lng As Long
sng As Single
dbl As Double
cur As Currency
dtm As Date
bln As Boolean
byt As Byte
vnt As Variant
vstrg As String
strg As String * 50
End Type
Die DLL-Funktion könnte wie folgt aufgerufen werden:
Private Declare Sub testen Lib "xyz.dll"(x As TestTyp)
Ein wichtiger Einsatzfall für die nutzerdefinierten Records sind fehlende Datentypen in Access.
Die folgende Funktion könnten Sie normalerweise nicht direkt aufrufen, da der Datentyp
LARGE_INTEGER
nicht durch Access unterstützt wird:
BOOL QueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount );
Abhilfe schafft ein selbst definierter Datentyp:
Type LARGE_INTEGER
LowPart As Long
HighPart As Long
End Type
Declare Function QueryPerformanceCounter& Lib "kernel32" (lpPerformanceCount As LARGE_INTEGER)
Siehe dazu auch das Praxisbeispiel »Ein anderes Programm starten« am Kapitelende!
Zuordnen der Datentypen
Für den schnellen Überblick soll die folgende Tabelle sorgen, die einige der häufigsten Datentypen auflistet:
837
API- und DLL-Einbindung
HINWEIS
Kapitel 13: Programmschnittstellen
API Access Bemerkung
LPVOID x x As Any
x As Byte
Zeiger auf Datenpuffer
LPSTR x
LPCSTR x
ByVal x As String Pointer auf String (Alias nicht vergessen!)
DWORD x
BOOL x
INT x
UINT x
LONG x
ByVal x As Long
LPDWORD x
LPBOOL x
LPINT x
LPUINT x
x As Long
LPRECT x x As RECT Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
HDC x
HANDLE x
HBITMAP x
HFILE x
HWND x
HPALETTE x
ByVal x As Long Handle
Tabelle 13.2 Zuordnung der Datentypen
Weitere Beispiele für den Einsatz von DLLs bzw. API-Funktionen finden Sie in Kapitel 11.
Bemerkungen
Für den Aufruf von Funktionen aus KERNEL32, USER32 oder SYSTEM32 verwenden Sie die Deklara-
tion ohne Extension!
Vermeiden Sie Pfadangaben in der DECLARE-Anweisung. DLLs können im Programm-Verzeichnis,
dem Windows-Verzeichnis und allen Verzeichnissen mit Suchpfad stehen.
Achten Sie auf die Groß-/Kleinschreibung.
Bevor Sie sich auf die eigentliche DLL-Programmierung stürzen, sollten Sie alle nicht benötigten
Anwendungen schließen und Ihre Quelltexte häufiger sichern. Von der geöffneten Access-Datenbank,
in der sich Ihr Programm befindet, sollten Sie eine Sicherheitskopie erstellen, da bei einem System-
absturz die Datenbank zerstört werden kann. Sollte das Kind dennoch in den Brunnen gefallen sein,
versuchen Sie es mit der Reparaturfunktion von Access oder dem Import einzelner Objekte.
838

Get Microsoft Office Access 2007-Programmierung - Das Handbuch now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.