?
Hallo!
Nein, es lag daran das ich das andere Handle nicht geschlossen habe.
Mit static deklarierte Variablen werden beim ersten z.B. static int a = 10; initialisiert, wenn ich die Funktion zum 2. mal aufrufe, hat diese zuweisung keinen Einfluss mehr auf die mit static deklarierte Variable.
Das ist auch Absicht, weil diese Funktion ja in einer Schleife so oft aufgerufen wird, bis sie false zurück gibt. Wenn das Handle nicht static wäre, würde es bei jedem Funktionsaufruf wieder mit NULL initialisiert und es kommt zu einer Endlosschleife. Außerdem soll das Handle den Wert so lange beibehalten bis ich es schließe und wieder auf null setzte, wenn ich es nicht mehr benötige.
Ich schließe das Handle, aber das beduetet nicht das ich die Variable hSnap lösche, hSnap bleibt weiterhin ein Handle.