Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte » 

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi LPT-Port steuern (https://www.delphipraxis.net/45023-lpt-port-steuern.html)

xstream 28. Apr 2005 12:03


LPT-Port steuern
 
Hallo

Ich hab die Suche benutz und bin auf diesen Topic gestossen: http://www.delphipraxis.net/internal...ect.php?t=5119

nun hab ich dieses skript bei mir bei einem neuen project eingefügt:

Delphi-Quellcode:
function PortIn( PortNum: word): byte;
Var a : byte;
Begin
  asm
    mov DX, PortNum;
    in AL, DX;
    mov a, AL;
  end; {asm}
  PortIn := a;
end;

procedure PortOut( PortNum: word; a: byte);
Begin
  asm
    mov DX, PortNum;
    mov AL, a;
    out DX, AL;
  end; {asm}
end;
Nun kommt aber beim Complimieren:

Zitat:

Im Projekt Project1.exe ist eine Exception der Klasse EPRivilege aufgetreten. Meldung: 'Priviligierte Anweisung'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzten.
Könnt Ihr mir helfen? Brauch ich noch eine dll oder sonst was?

MfG

xstream

Christian Seehase 28. Apr 2005 12:09

Re: LPT-Port steuern
 
Moin xstream,

unter welchem Betriebssystem hast Du es ausprobiert?

Ich vermute mal ein NT-basiertes, wie XP.

Der Sourcecode dürfte aber nur unter 95/95/ME funktionieren.

jackie 28. Apr 2005 12:15

Re: LPT-Port steuern
 
Hi!
Soweit ich weis, geht das nur unter Win9x. Unter NT (200/XP) musst du evtl. die API nutzen, weil das OS das direkte ansprechen der Ports nicht erlaubt (Sicherheitsgründe).

xstream 28. Apr 2005 12:20

Re: LPT-Port steuern
 
hmm richtig vermutet... win xp home...

habt ihr einen 'ersatz' für die funktionen? wäre sehr dankbar....

jackie 28. Apr 2005 12:23

Re: LPT-Port steuern
 
Such mal im MSDN, vielleicht findest du was. Wenn mir was einfällt, geb ich Bescheid.

SvB 28. Apr 2005 12:28

Re: LPT-Port steuern
 
Hallo,
wie schon berichtet, ist der Zugriff direkt auf Hardware bei XP nicht möglich. Das muss dann über einen Treiber gemacht werden. Ich selbst benutze dafür die Komponente IOPort von Winsoft. Schaue dort unter "Products" und "IOPort". Dort gibt es auch das Gegenstück für .NET

Grüße
Sven

Mephistopheles 28. Apr 2005 13:36

Re: LPT-Port steuern
 
Einen generischen Port-I/O-Treiber bekommt man kostenlos im DDK dazu. Wenn ihr wollt, kann ich euch den gern kompilieren, den Header hier reinstellen usw.
Es muß aber eigentlich über DeviceIoControl() gehen. Es macht keinen Sinn, daß MS das System sicher macht, nur um dann Leute zu zwingen es über einen generischen Port-Treiber wieder unsicher zu machen.

xstream 28. Apr 2005 17:18

Re: LPT-Port steuern
 
@SvB: dein tip geht bei mir irgendwie ned...

@Mephistopheles: kannst du mir dazu mal genäuere informationen geben?

vielen dank für eure antworten...

nun wenn ich das ganze unter win 98 verwenden würde? wie müsste ich es dann proggen, bzw. würde es dann so funtzen wie es im anderen post steht?

mika 28. Apr 2005 17:51

Re: LPT-Port steuern
 
Hi,

unter Windows 98 funktionieren die Assembler Anweisungen auch ohne Treiber.
Ne Möglichkeit wäre es beim Programmstart zu prüfen welche Windows-Version
installiert ist und bei NT-basierten Systemen den Treiber zu laden und
bei 9x Systemen einfach nicht.



Gruß, Michael

xstream 28. Apr 2005 18:15

Re: LPT-Port steuern
 
sorry bin da wirklich noch ein noob... aber welchen treiber?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Seite 1 von 4  1 23     Letzte » 

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