Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Interrupts in Delphi (https://www.delphipraxis.net/57004-interrupts-delphi.html)

BambiNator 14. Nov 2005 21:30


Interrupts in Delphi
 
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
Delphi-Quellcode:
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

omata 14. Nov 2005 21:40

Re: Interrupts in Delphi
 
Schau doch mal hier

MfG
Thorsten

BambiNator 14. Nov 2005 23:35

Re: Interrupts in Delphi
 
Geil! Perfekt! Des is genau des was ich brauch! *luftsprung mach* Hab aber beim Rumspielen grad nen Fehler entdeckt, man muss im LPT-Beispiel dem Ereignis fürs Interrupt noch die Routine zuweisen, sonst passiert nix. Sonst funktioniert alles perfekt und ohne Probleme. Ich bin nur noch begeistert!

omata 15. Nov 2005 01:25

Re: Interrupts in Delphi
 
Schön, dass ich dir helfen konnte.

Nur so aus Neugierde, was erzeugt den Interrupt und was liest/wertest du aus?

Vielleicht lüftest du ja das Geheimnis noch...

MfG
Thorsten


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz