Thread erzeugen
-
Hallo,
ich habe Probleme einen Thread für eine kontinuierliche Bildaufnahme zu erzeugen. In VS08 - C# habe ich die Bildaufnahme in einem eigenen Thread mit folgendem Code problemlos umsetzen können.
new System.Threading.Thread(Bildaufnahme).Start(); //Funktion die oben aufgerufen wird private void Bildaufnahme() { while (true) { if (stopLive == false) { Img = CAM_FG.GrabImage(); Img.DispObj(Window); //DoGuiAccess Funktion aufrufen um Zugriff auf GUI-Elemente zu bekommen this.Invoke(new MethodInvoker(DoGuiAccess)); } } } private void DoGuiAccess() { TS_B_StopLive.Enabled = false; }
Soweit so gut...Nun möchte ich aber den Code in VS08-C++ umsetzen,da ich in einer C++ Assembly schreibe, aber alle bisherigen C++ Ansätze scheitern mit irgendwelchen Compilerfehlern, z.B. der folgende Ansatz:
Thread^ Snap_Thread=gcnew Thread(gcnew ThreadStart(Bildaufnahme()));
mit zugehörigem Compilerfehler:
error C3364: 'System::Threading::ThreadStart' : invalid argument for delegate constructor; delegate target needs to be a pointer to a member functionIch hoffe jemand kann mir helfen den Thread-Code in C++ umzusetzen und bedanke mich schon mal im Voraus, viele Grüße
Cain
-
Thread^ Snap_Thread = gcnew Thread( gcnew ThreadStart( this,&Form1::Bildaufnahme)); Snap_Thread->Start();
Gruß, Doug_HH
-
Vielen Dank für die Hilfe, nun klappt es!!
Für den Invoke-Aufruf innerhalb der Funktion funktioniert das ganze dann analog.Viele Grüße
Cain