EnumWindows
-
Folgender Code:
static BOOL CALLBACK WndEnumProc( HWND hwnd, LPARAM lParam ) { if(IsGDIPlusWindow(hwnd)) { SendDCIOFFMessage(hwnd); } return TRUE; } [...] // Scan through existing windows... EnumWindows(WndEnumProc, 0);verursacht folgenden Fehler:
[C++ Error] gdipacs.cpp(122): E2034 Cannot convert 'int (__stdcall *)(void *,long)' to 'int (__stdcall *)()'
[C++ Error] gdipacs.cpp(122): E2342 Type mismatch in parameter 'lpEnumFunc' (wanted 'int (__stdcall *)()', got 'int (__stdcall *)(void *,long)')Wie ist das Problem zu lösen?
-
Dieser Thread wurde von Moderator/in KlausB aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Benutze mal einen anderen Name als WndEnumProc, vieleicht giebt es hier ein Namenskonflikt, obwohl ja Groß-/Kleinschreibung beachtet wird, aber möglich ist es schon, vieleicht.
-
Daran lags leider nicht.
Ich benutze außerdem den Borland C++ Builder 6.
-
Na ich weiß auch nicht warum die Borlander gleich immer alle ins WinAPI Forum verschieben, nur weil mal eine Funktion davon drinn steckt.
Das ist ein Kompilerfehler, der Code Funktioniert wie gegeben, aber es muss vermutlich beim BCB6 was dazu eingestellt oder angegeben werden, nur WAS das wissen die Borlander vermutlich.
@MOD
am besten zurück verschieben!
-
Mussu casten:
EnumWindows((WNDENUMPROC)WndEnumProc, 0);
-
@nirsaja: würd ich nicht machen (es sei denn du weiß genau was du machst - oder ist das ne mache von BCB?)
probier ::EnumWindows. Der Compiler "sieht" eine EnumWindow-Funktion, die andere Parameter erwartet, evtl. innerhalb deiner Klasse oder so.
-
@nirsjana:
Danke! Es klappt! Vielen vielen dank.