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