ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
1983
1983
EMPFEHLEN
-
Hallo,
ich habe folgende zeile in einem Programm entdeckt und die bereitet mir Kopfschmerzen:
LRESULT CALLBACK WndProc (HWND hWnd, UINT uiMessage,
WPARAM wParam, LPARAM lParam)
kann mir jemand erklären, was das callback bedeutet?
mfg mr dude
-
07.04.04 07:49 #2
- Registriert seit
- Oct 2003
- Ort
- Hamburg
- Beiträge
- 125
Soweit ich das verstehe läuft die Kommunikation zwischen dem Windows-OS und Deinem Programm wie folgt:
Der Einsprungpunkt in Dein Programm bildet die WinMain. Darin deklarierst Du die Window Class u.a. mit wndclass.lpfnWndProc=WndProc.
Da Du das WndProc mittels CALLBACK definiert hast ist Windows nun in der Lage, die Kommunikation mit Deinem Programm über WndProc zu realisieren.
Gruß
René
-
siehe MSDN
CALLBACK Anstelle von FAR PASCAL in Anwendungsrückruf-Routinen, wie Fensterprozeduren und Dialogprozeduren, zu verwenden.
ist einfach ein Makro das dem Linker sagt wie er die Funktion ansprechen soll, dabei wird die Funktion über ein Funktuionszeiger angesprochen (bei Dispatch Message)
-
28.03.05 22:02 #4
- Registriert seit
- Sep 2004
- Beiträge
- 94
hab bei dem problem auch so ein problem ! wollte den opengl tutorial anfang in ne klasse packen und jetzt kam der fehler bei raus
hab alles ausser die WinMain in ne Klasse geschriebenCode :1 2
error C2440: 'type cast' : '' kann nicht in 'long (__stdcall *)(struct HWND__ *, unsigned int,unsigned int,long)' konvertiert werden
und jetzt bringt er den fehler bei :
liegt das vielleich hier dran?Code :1
wc.lpfnWndProc = (WNDPROC) WndProc;
an dem komischen CallbackCode :1 2
LRESULT CALLBACK GLMain::WndProc(HWND hWnd, UINT uMsg, WPARAM Param, LPARAM lParam)
oder sollte ich den WinMain auch in die klasse packen
oder kann mir jemand den fehler erklären?
-
29.03.05 00:39 #5
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich kann nicht verstehen warum viele immer mit neuen Sachen anfangen, wenn sie nicht mal die Grundlagen beheerschen.
Hier ein Beispielcode eines von mir geschrieben Programms:
http://www.tutorials.de/tutorials191789.html
mfg
umbrasaxum
-
29.03.05 18:32 #6
- Registriert seit
- Sep 2004
- Beiträge
- 94
sorry aber du weißt doch bestimmt selber wie das is mit dem dicke Bücher wälzen! und durch sowas kann man dann auch dazu lernen! oder nie
-
29.03.05 18:40 #7
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ja weiss ich.sorry aber du weißt doch bestimmt selber wie das is mit dem dicke Bücher wälzen! und durch sowas kann man dann auch dazu lernen! oder nie
Es ist mühsam, manchmal langweilig, langwierig, ...
Aber man lernt sachen die man durch Probieren und zusammstückeln von fremden Code nie lernen würde, man versteht fremden Code viel leichter und kann die gegeben Mittel viel besser ausnutzen!
Der Wille reicht oft nicht.
Das soll nicht heissen das man erstmal Bücher lesen soll, bevor man hier ne Frage stellt, aber wenn man sich mit einem Thema befassen will kommt ums lernen/lesen nciht rum, und besonders nciht um das worauf das neue Thema aufbaut hier z.B. Callback Routinen oder das Wissen mit Klassen umzugehen.
mfg
umbrasaxum
-
30.03.05 14:30 #8
- Registriert seit
- Sep 2004
- Beiträge
- 94
ich will das Thema nicht weite ausbreiten! aber ich hab in allen 2 Büchern die ich über C++ habe nach Callback routinen gesucht und nichts gefunden!
-
Wenn du eine Klassenmethode als Callbackfunktion nutzen willst, dann musst du sie als statisch deklarieren. Außerdem solltest du sie dann über ihren vollständigen Namen ansprechen (GLMain::WndProc anstatt nur WndProc).
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
30.03.05 15:38 #10
- Registriert seit
- Apr 2002
- Ort
- Delmenhorst (Niedersachsen)
- Beiträge
- 3.567
moin
Ich breite das Thema aber nochmal aus.
Du findest in "normalen" Büchern auch nichts über Callback, da es ein Teil der Windowsprogrammierung ist, also etwas spezielleres.
mfg
umbrasaxum
Ähnliche Themen
-
Was ist CALLBACK?
Von devian_der_999 im Forum C/C++Antworten: 1Letzter Beitrag: 14.12.10, 13:23 -
Callback in VCL Anwendung
Von PaRoX im Forum C/C++Antworten: 3Letzter Beitrag: 19.11.08, 11:02 -
Callback & Listener ?
Von Grafixboy im Forum Flash PlattformAntworten: 3Letzter Beitrag: 12.09.08, 18:57 -
Callback umbauen in MFC
Von Wu-mc im Forum VisualStudio & MFCAntworten: 4Letzter Beitrag: 28.12.05, 14:08 -
Was ist Callback?
Von Tutankhseth im Forum C/C++Antworten: 6Letzter Beitrag: 07.08.04, 00:54





Zitieren

Login






