Entwickler-Ecke
Sonstiges (Delphi) - Anwendung von APPLICATION.PROCESSMESSAGES bei 20 Hz Messung
deckert - Sa 15.02.03 17:36
Titel: Anwendung von APPLICATION.PROCESSMESSAGES bei 20 Hz Messung
Hallo Leute,
ich schreibe gerade Diplomarbeit in Meteorologie und habe ein Delphi Programm für Echtzeitdarstellung und Logggen von Meßdaten geschrieben.
Die Daten von einem Ultraschallanemometer und einem Krypton Hygrometer werden über eine serielle Schnittstelle direkt an einen Laptop übertragen.
Allerdings messe ich mit 20 Hz, es kommen pro Sekunde 20*3 Datenzeilen an meinem Laptop an.
Um die Anwendung von außen (nicht mit Interrupt CTRL+ALT+DEL) beenden zu können benötige ich die Prozedur APPLICATION.PROCESSMESSAGES. Diese macht jedoch das Programm für meine Anwendung zu langsam, es werden dann ASCI's verschluckt.
Habt Ihr einen Vorschlag, wie ich das Problem erschlagen könnte?
Vielen Dank
Rudi
Klabautermann - Sa 15.02.03 20:17
Hallo,
1. Poste deine Beiträge bitte in der Richtigen Rubrik, diese hier ist für neue FAQ Beiträge.
2. Da Windows kein Echtzeit Betriebssystem ist, wirst du bei deinem Problem keine 100% lösung hinbekommen.
Auf jeden Fall würde ich das Programm aber auf mehrere Threads verteilen. Mindestens auf einen Hauptthread und einen (mit hoher Priorität) der die Daten entgegennimmt.
Gruß
Klabautermann
Fred Ferkel - Mo 17.02.03 21:34
hi
k.A. wie dein prog aussieht und so aber wenn du das ganze in ner schleife abrufst könntest du doch einfach nen getasynckeystate() und nen break einfügen ??
cya
DaFox - Mo 17.02.03 22:03
Hi.
Evtl. nicht bei jedem Schleifendurchgang ProcessMessages aufrufen.
Bsp:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer; begin cnt := 0; for i := 1 to 2000 do begin if (i mod 100) = 0 then Application.ProcessMessages; end; end; |
Besser ist aber eindeutig mehrere Threads zu benutzen. Gerade bei Kommunikation mit (seriellen) Schnittstellen ist das sehr zu empfehlen aber auch sehr zeitaufwendig (ohne Thread-Erfahrung).
Gruß,
Markus
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!