Registriert seit: 12. Dez 2004
5 Beiträge
Delphi 5 Professional
|
Interrupts in Delphi
14. Nov 2005, 22:30
Hi Leute!
Ich hab ein Riesen-Problem! Wie komm ich in Delphi an die Interrupts ran. Unter Pascal (sprich DOS) wars noch so einfach...
Was mich genau interessiert sind die Hardware-Interrupts, also die IRQs. Mein Problem ist, wie kann ich dem Interrupt-Controller sagen, dass er, wenn ein bestimmtes Interrupt ausgelöst wird, wie zum Beispiel IRQ 7 für die parallele Schnittstelle, eine Prozedur ausführt. Ich muss also der Einsrpungadresse für den Interrupt (dem Interruptvektor, korrigiert mich wenn ich da falsch liege) die Adresse meiner Prozedur übergeben. In Pascal funktionierte dies mit SetIntVec, der man die Interrupt-Nummer und die Adresse der Prozedur übergab, zum Beispiel
SetIntVec($0F, @MeineProzedur);
$0F steht für den IRQ 7, wobei es soweit ich bis jetzt weiß Probleme mit irgendwelchen Prozessor-Exceptions von Intel mit der gleichen Adresse geben könnte, da blick ich aber noch net so durch...
Auf jeden Fall muss ich diese Zuweisung an den Interrupt-Vektor irgendwie unter Delphi lösen, sodass auch WinXP des kapiert. Was natürlich purer Luxus wäre, ist ein Systemtreiber (um den ich wegen der Hardware-Problematik von XP glaub ich net drumrum kommen werde), davon hab ich aber null Ahnung, wie man sowas programmiert.
Hat jemand von euch eine Lösung für mich, wie ich entweder mit Delphi-eigenen Möglichkeiten die Zuweisung hinbekomme, oder was natürlich noch besser ist, einen Treiber dafür. Helft mir bitte weiter, ich hab schon das Internet abgegrast, habs aber nach einigen verzweifelten google-Nächten aufgegeben. Bin für jeden Tipp dankbar!
Danke schon mal für eure Mühe
Bambi
|