Hallo Community,
nachdem ich schon seit längerem mitgelesen habe, habe ich nun auch mal ein Problem an dem ich nicht weiter komme.
Ich hoffe ich habe das richtige Unterforum.
Compiler: Visual Studio 2013 C++
Im Rahmen einer Projektarbeit sollen wir an der FH den VolksBot des Fraunhofer Institut in bewegung setzen.
Zum auslesen der seriellen Schnittstellen wollte ich eigene Threads benutzen.
Code:
CommSeriell::CommSeriell(int a)
{
printf("\nAlle Threads starten...\n");
// Alle Threads starten
int index = 1;
hThread[0] = CreateThread(NULL, // Sicherheitsinfos
0, // Größe des Stack
CommSeriell::RecieveGPS, // Threadfunktion
(LPVOID)index, // 32-bit paramter der Threadfunktion übergeben wird
0, // Creation Flags, 0=sofort starten.
&dwThreadID[0]); // Id speichern
}
DWORD WINAPI CommSeriell::RecieveGPS(LPVOID data)
{
initComPort(); //Öffnen des ComPort
recieveComPort(); //Empfangen und auswerten der Daten
CloseHandle(hComm);//Closing the Serial Port //Schliesen des ComPort
return((DWORD)data);
}
Ich würde gerne in einer Klasse einen Thread starten bekomme das allerdings nicht hin.
Habe jetzt schon des öfteren gelesen dass man hierbei keine Funktion einer Klasse verwenden kann.
Allerdings benötige ich mehrere Daten aus der Klasse und würde auch gerne mehrere Daten zurückgeben.
Kennt hierzu jemand einen Lösungsweg oder eine Alternative?
MfG
Florian
Lesezeichen