Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TThread soll ein Ereignis auslöen
NemesisoD - Di 18.03.08 11:51
Titel: TThread soll ein Ereignis auslöen
Hallo zusammen,
ich habe ein kleines Problem.
Ich schreibe zurzeit ein Programm welches Daten aus dem Microsoft Flugsimulator 2004 auslesen soll, und über einen virtuellen COM-Port an eine Elektronik schicken soll.
Dazu habe ich ein zusätzliches Thread gestartet, welches die Variablen Pollt. Nun soll dem Haupt-Thread über ein Event mitgeteilt werden OHNE das das Neben-Thread auf des Haup-Thread warten muss.
Anderesherum muss aber auch das Neben-Thread vom Haupt-Thread erfahren können, das die Elektronik Werte hat die zum Flugsimulator hin geschrieben werden müssen, auch wieder ohne das das Haupt-Thread warten muss.
Gibt es dafür eine möglichkeit das zu realisieren, oder komme ich ums synchronisieren nich drumherum???
Danke
Michael
Gausi - Di 18.03.08 11:58
Wenn keine Synchronisierung nötig ist, weil Thread und Nebenthread nicht auf die gleichen Daten zugreifen, kannst du vom Nebenthread mit PostMessage eine Nachricht an den Hauptthread (bzw. an die Mainform der Anwendung) senden.
NemesisoD - Di 18.03.08 20:47
Danke für deine antwort,
ich bin bezüglich Threads und so noch NewBi, bin bisher immer mit Timern ausgekommen, da ich meistens nur kleiner Programme geschrieben habe.
Naja, genau genommen ist dieses Projekt vom Rechenaufwand auch nicht sonderlich groß, nur das ich möglichst schnell die Werte aus dem Flugsimulator pollen muss, und da mit nem Timer zu langsam geht. In einer Endlosschleife in einem Thread ausgelagert würde das aber schneller gehen.
Eine Synchronisation ist nötig, da auch von der Elektronik Daten empfangen werden müssen.
Würde mich über einen kurzen Beispiel-Code sehr freuen.
Michael
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!