Hallo hab hier eine Funktionsdeklaration!
typedef void (_stdcall *AN21XXOPENDEVICE)(unsigned char ucDeviceNumber, char* szDriverName, char* szID, char* szKeyword);
Was muß ich aber jetzt schreiben wenn ich diese benutzen will!?
Was muß ich beim Aufruf alles weglassen!? Kann mir jemand ein Beispiel machen?
Thanks @ all
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Das ist keine Funktionsdeklaration, sondern eine Typdefinition, wie das erste Schl�sselwort es ganz klar ausdr�ckt. Definiert wird ein Funktionstyp, der eine unsigned char als ersten und je ein char* als die n�chsten drei Parameter und keinen R�ckgabewert hat.
Nun kann man soetwas hinschreiben wie:
OpenDevice (AN21XXOPENDEVICE OpenFunc)
{
OpenFunc (1, "DriverName", "ID", "Keyword");
}
also die aufzurufende Funktion als Parameter �bergeben.
Eine andere Verwendung ist das casten von Funktionsadressen:
AN21XXOPENDEVICE OpenFunc = (AN21XXOPENDEVICE) GetProcAddress (MyDllHandle, "FunctionName");
Der Aufruf von OpenFunc erfolgt dann wie oben. Der direkte Aufruf
(GetProcAddress (MyDllHandle, "FunctionName")) (1, "DriverName", "ID", "Keyword")
w�rde nicht compiliert werden, wie man schnell feststellt.
Claus