Floyd
03-06-2009, 21:48
Hallo,
ich arbeite gerade mit dem Canon SDK (in Visual C++) um Digitalkameras anzusprechen.
Mein Programm sieht von der Struktur so aus, dass ich einen Server habe, der einen Socket vom Client akzeptiert und dann auf Nachrichten lauscht. Vorher habe ich eine Klasse initialisiert, die ich geschrieben habe um mit der Kamera zu kommunizieren. Aus dem Thread in dem der Socket abgehört wird, rufe ich dann die entsprechenden Klassenfunktionen auf. Soweit funktioniert alles.
Das Canon SDK arbeitet mit Callbacks, um zum Beispiel zurückzugeben, dass ein Bild jetzt gespeichert wurde, die Kamera im Prinzip also wieder benutzt werden kann. Dazu registriert man eine entsprechende Funktion, die dann mit dieser Rückgabe umgehen soll. Das habe ich auch gemacht, nur leider wird diese Funktion nicht aufgerufen.
Ich bin in C++ Neuling, kenne mich sonst nur mit Java und PHP relativ gut aus, hatte aber mit derartigen Sachen noch nie etwas zu tun. Jemand gab mir den Tipp, dass es etwas mit dem Message System von Windows zu tun haben könnte und erwähnte eine MessagePump. Als ich die in einen separaten Thread eingbaut habe, hat sich allerdings nichts geändert.
Jetzt bin ich erstmal ratlos, finde auch im Internet viele Seiten zu Callbacks, aber die Vielfalt von Möglichkeiten in C++ erschlägt mich ein wenig ... Vielleicht habt ihr ja Vorschläge wie ich das Problem lösen kann?
Viele Grüße, Peter
ich arbeite gerade mit dem Canon SDK (in Visual C++) um Digitalkameras anzusprechen.
Mein Programm sieht von der Struktur so aus, dass ich einen Server habe, der einen Socket vom Client akzeptiert und dann auf Nachrichten lauscht. Vorher habe ich eine Klasse initialisiert, die ich geschrieben habe um mit der Kamera zu kommunizieren. Aus dem Thread in dem der Socket abgehört wird, rufe ich dann die entsprechenden Klassenfunktionen auf. Soweit funktioniert alles.
Das Canon SDK arbeitet mit Callbacks, um zum Beispiel zurückzugeben, dass ein Bild jetzt gespeichert wurde, die Kamera im Prinzip also wieder benutzt werden kann. Dazu registriert man eine entsprechende Funktion, die dann mit dieser Rückgabe umgehen soll. Das habe ich auch gemacht, nur leider wird diese Funktion nicht aufgerufen.
Ich bin in C++ Neuling, kenne mich sonst nur mit Java und PHP relativ gut aus, hatte aber mit derartigen Sachen noch nie etwas zu tun. Jemand gab mir den Tipp, dass es etwas mit dem Message System von Windows zu tun haben könnte und erwähnte eine MessagePump. Als ich die in einen separaten Thread eingbaut habe, hat sich allerdings nichts geändert.
Jetzt bin ich erstmal ratlos, finde auch im Internet viele Seiten zu Callbacks, aber die Vielfalt von Möglichkeiten in C++ erschlägt mich ein wenig ... Vielleicht habt ihr ja Vorschläge wie ich das Problem lösen kann?
Viele Grüße, Peter