Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

C++ Funktionsdeklaration/Aufruf?

serc / 10 Antworten / Flachansicht Nickles

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

bei Antwort benachrichtigen
Nochmal ne Frage dazu!!??? serc
Stimmt schon aber ...... serc
Stimmt schon aber ...... clausg
clausg serc „C++ Funktionsdeklaration/Aufruf?“
Optionen

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

bei Antwort benachrichtigen
Muss nat�rlich clausg
Muss nat�rlich ... clausg