Einzelnen Beitrag anzeigen

valjah

Registriert seit: 13. Nov 2006
19 Beiträge
 
Delphi 7 Personal
 
#1

Parallelport-Abfrage mit Timeout

  Alt 26. Mär 2009, 01:32
Liebe DP-Gemeinde,

folgendes Thema beschäftigt mich nun schon seit einigen Tagen und ich habe auch hier im Forum etliche Beiträge studiert. Dennoch bin ich noch nicht so richtig schlüssig, wie die beste Lösung aussieht:

Ich möchte ein externes Gerät über den Parallelport abfragen und benutze dafür die inpout32.dll. Soweit funktioniert auch alles wunderbar. Den Status des Geräts frage ich über die function Inp32 aus.
Nun möchte ich genau (auf 1 ms) ermitteln, wieviel Zeit bis zu einer Statusveränderung vergeht. Dafür sind mir bisher zwei Lösungen eingefallen: (1) Ein Timer oder (2) ein separater Thread. Dieser soll zurückmelden, wenn (a) eine Statusveränderung am Parallelport aufgetreten ist, oder (b) ein Timeout überschritten wurde.
Meine Frage: wie kriege ich das am besten/elegantesten/simpelsten unter einen Hut? Das Hauptprogramm muss in dieser Zeit nichts anderes machen, darf also durchaus "blockiert" werden. Wie würdet Ihr dieses Problem lösen?
Wenn (1) Timer, dann welcher? Ausgehend von Henning Brackmanns Timer-Tutorial kämen entweder (a) ein Threaded Timer oder (b) ein OnIdle Timer in Frage. Was macht mehr Sinn? Und wenn ich es (2) mit Threads löse, wie sollte dann die Zeitmessung bzw. der Timeout sinnvollerweise aussehen?

Für Euren Input bin ich Euch sehr dankbar!

Valentin
  Mit Zitat antworten Zitat