given_to_fly Geschrieben 24. Juli 2004 Geschrieben 24. Juli 2004 Hallo, ich habe mal eine Frage die mich beschäftigt. Und zwar ein "normales" C/C++ Programm zu schreiben, das Operationen ausführt die ich möchte ist ja nicht soo schwer, .. es arbeitet seine Befehle nach einander ab und kommt zum Ende.. Doch wie schreibe ich ein Programm das im Hintergrund laufen soll und z.B. einen Port überwachen soll. D.h. doch ich müßte eine Endlosschleife über die Methoden aus einer Klasse fahren (in der Klasse sind Methoden zum Abfragen des Ports vorhanden), aber dies belastet die Systemresourcen so stark.. naja -> nicht praktikabel... Wie soll es nun gehen, sowas zu programmierne ohne immer wieder die Methode in einer Schleife aufzurufen? Gibts dafür spezielle Programmtypen ? Bitte mal um Aufklärung... Mein Arbeitsumgbeung ist : Microsoft Visual C++ 6.0 Würde gerne MFCs weiter verwenden :-) Zitieren
robotto7831a Geschrieben 24. Juli 2004 Geschrieben 24. Juli 2004 Damit Programmteile im Hintergrund laufen, mußt Du einen Thread starten. Ein Beispiel findet man hier. Frank Zitieren
given_to_fly Geschrieben 24. Juli 2004 Autor Geschrieben 24. Juli 2004 Damit Programmteile im Hintergrund laufen, mußt Du einen Thread starten. Ein Beispiel findet man hier. Frank hmm aber d.h. es muss trotzdem immer eine schleife oder ein wait eingebaut werden oder? Frisst das trotzdem nicht extrem ressourcen :-) sorry aus dem link bin ich nicht ganz soo schlau geworden! Zitieren
robotto7831a Geschrieben 24. Juli 2004 Geschrieben 24. Juli 2004 Ja Du mußt schon eine Schleife einbauen. Ich weiss ja nicht, was Du genau machst aber normalerweise sollte das keine großen Ressourcen fressen. Ein anderes Beispiel findet man hier. Frank Zitieren
given_to_fly Geschrieben 24. Juli 2004 Autor Geschrieben 24. Juli 2004 Ja Du mußt schon eine Schleife einbauen. Ich weiss ja nicht, was Du genau machst aber normalerweise sollte das keine großen Ressourcen fressen. Ein anderes Beispiel findet man hier. Frank Hi. Naja sehs mal so. Ich will ein programm schreiben das alle 5 sekunden auf eine serielle Schnittstelle bzw. Port zugreift und überprüft ob Daten zu empfangen sind. Ich kenne das von anderen Programmiersprachen wenn man das gemacht hat, hat es extrem an Ressourcen gefressen :-) Zitieren
SwordMaster Geschrieben 24. Juli 2004 Geschrieben 24. Juli 2004 Hi. Hmm wenn du alle 5 sekunden einen bestimmten quellcode ausführen willst... hmm das hört sich für mich so an, als ob du einen Timer brauchst. Wenn du einen Timer verwendest kannst du sagen dass er alle 5 Sekunden bzw. in einem Bestimmten Intervall eine Funktion ausführen soll. Ist es dass was du brauchst? Oder willts du sofort wissen wenn an einem Port daten reinkommen? ein Timer wird halt dann wirklich nur in dem Intervall ausgeführt! MFG SwordMaster P.S. ich denke mal ein Timer ist von den Resourcen auch wesentilich besser wie eine Endlosschleife die ein Wait (oder Sleep oder wie der befehl auch immer heißt... benutzt). Zitieren
given_to_fly Geschrieben 24. Juli 2004 Autor Geschrieben 24. Juli 2004 Hi. Hmm wenn du alle 5 sekunden einen bestimmten quellcode ausführen willst... hmm das hört sich für mich so an, als ob du einen Timer brauchst. Wenn du einen Timer verwendest kannst du sagen dass er alle 5 Sekunden bzw. in einem Bestimmten Intervall eine Funktion ausführen soll. Ist es dass was du brauchst? Oder willts du sofort wissen wenn an einem Port daten reinkommen? ein Timer wird halt dann wirklich nur in dem Intervall ausgeführt! MFG SwordMaster P.S. ich denke mal ein Timer ist von den Resourcen auch wesentilich besser wie eine Endlosschleife die ein Wait (oder Sleep oder wie der befehl auch immer heißt... benutzt). Hi vorerst reicht einmal alle 5sekunden :-) wie geht das mit dem timer? Zitieren
robotto7831a Geschrieben 24. Juli 2004 Geschrieben 24. Juli 2004 Schau mal auf folgenden Seiten vorbei. http://www.functionx.com/visualc/controls/timer.htm http://cui.unige.ch/OSG/people/Past/fuentes/Mfc/HowTo_39.html http://www.developer.com/net/cplus/article.php/603531 Frank Zitieren
given_to_fly Geschrieben 24. Juli 2004 Autor Geschrieben 24. Juli 2004 Schau mal auf folgenden Seiten vorbei. http://www.functionx.com/visualc/controls/timer.htm http://cui.unige.ch/OSG/people/Past/fuentes/Mfc/HowTo_39.html http://www.developer.com/net/cplus/article.php/603531 Frank Danke, das hat mir erstmal viel weiter geholfen :-) Schönes Wochenende Euch allen noch! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.