Entwickler-Ecke
Windows API - Port in Delphi
guenther - Mi 21.01.04 18:47
Titel: Port in Delphi
Hallo,
ich habe ein Programm in Turbo Pascal wo mit dem Befehl
Port[IOAdresse] direkt auf eine ISA-Karte zugegriffen wird.
Gibt es dafür einen Befehl in Delphi??
Danke
Andreas Pfau - Mi 21.01.04 19:08
Hallo,
also, unter Win95/98/ME:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var Address: Cardinal; Value: Byte; asm Address := 888; push dx mov dx, Address in al, dx mov Value, al pop dx end; |
Ausgabe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var Address: Cardinal; Value: Byte; asm Address := 888; Value := 0; push dx mov dx, Address mov al, Value out al, dx pop dx end; |
Unter NT/2k/XP brauchst du eine Systemdatei. Bei Torrys.
guenther - Do 22.01.04 10:09
Danke für die Antwort Andreas,
ich war nicht ganz konkret, ich möchte das mit Delphi 7 auf WinNT machen.
Was meinst du mit einer Systemdatei?
Sorry ich bin da echt nicht fitt :oops:
Andreas Pfau - Do 22.01.04 19:14
Hallo,
also, da das ein recht harter Systemzugriff ist, will NT das nicht. Wenn die Anwendung nur für eigene Zwecke gedacht ist, könntest du auch die Triviallösung eingehen und den Kompatibilitätsmodus auf Win95, 98 oder ME stellen (EXE rechts anklicken, Eigenschaften).
Ansonsten brauchst du einen Systemtreiber, der das mit sich machen lässt. Kann man nicht mit Delphi, daher musste dir einen runterladen, z.B. hier:
http://torry.net/portaccess.htm. Ich empfehle DirectPort von Sergey Ageev. Aber jeder andere NT-kompatible tuts natürlich auch.
guenther - Fr 23.01.04 09:40
Titel: Noch ne Frage
so ist das also, danke für den Tip.
Trotzdem versteh ich nicht wiso man (mit man meine ich einen "richtigen" Delphi Experten, nicht mich :? ) mit Delphi keinen Systemtreiber schreiben kann ?
Andreas Pfau - Fr 23.01.04 14:42
Hallo,
warum kannst du mit deinem Auto nicht unter Wasser fahren? Warscheinlich, weil es nicht dafür ausgelegt ist. Borland hat Delphi eben für 32Bit-Windows-Anwendungen ausgelegt, und daher kann der Compiler auch keine Systemdateien erzeugen. Alles eine Frage des Compilers - ich denke (ich weiß es nicht), die Sprache an sich wäre Leistungsfähig genug (immerhin kann man auch ASM einbinden).
Entweder kaufste dir MSVC++ (ist die einzige Sprache von der ich weiß dass es geht), oder du lädtst dir so eine Systemdatei runter.
Aber, wie gesagt, wenn die Anwendung nur für dich sein soll, langt es wenn du dir Kompatibilitätseinstellungen änderst.
guenther - Fr 23.01.04 14:56
Ok, danke für die Erklärungen Andreas
ciao
MathiasH - Fr 23.01.04 15:59
ginge das mit den systemdateien in delphi eigentlich, wenn du sie komplett in asm schreiben würdest?, oder ginge das dann mit nem asm->exe programm?
Motzi - Fr 23.01.04 16:19
Titel: Re: Noch ne Frage
| guenther hat folgendes geschrieben: |
| Trotzdem versteh ich nicht wiso man (mit man meine ich einen "richtigen" Delphi Experten, nicht mich :? ) mit Delphi keinen Systemtreiber schreiben kann ? |
Da kann ich dir nur raten den Kommentar von Nico Bendlin auf Luckies Homepage zu diesem Thema zu lesen:
http://www.luckie-online.de/artikel/grenzendelphi.shtml
elbrand - Fr 23.01.04 19:01
Titel: port?
auf welchen port willst du denn zugreifen? z.b. für die seriellen ports gibt es sehr kompfortable windowsfunktionen.
smilie128 - Di 27.01.04 07:53
Hallo Guenther
Ich bin zwar kein Experte aber unter Delphi 6 habe ich einen Zugriff auf den Parallel Port mit Hilfe der folgenden Internet-Seite realisiert.
http://www.geekhideout.com/iodll.shtml
Funktioniert nei mir unter Win 98 , Win2K und WinXP
Im Prinzip kann man da auch andere Port-Adressen eingeben.
Man muß nur wissesn welche Adressen manschreiben und lesen will.
Die Adresse der ISA-Karte läßt sich ja in den Hardware-Einstellungen herausfinden.
Vielleicht hilfts ja.
Was ist das denn für eine Karte, die du ansprechen willst?
Mfg
smilie128
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!