Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Fehlermeldung mit Assembler (https://www.delphipraxis.net/58459-fehlermeldung-mit-assembler.html)

Kacze 7. Dez 2005 11:10


Fehlermeldung mit Assembler
 
Nochmal Hallo,

Mein Programm hängt sich bei IN ... auf

Delphi-Quellcode:
FUNCTION InPort(PortAdr:word):byte;
{$IFDEF WIN32}
assembler; stdcall;
  ASM
    MOV  DX,PortAdr
    [b]IN   AL,DX[/b]
  END;
{$ELSE}
  BEGIN
    Result:=Port[PortAdr];
  END;
{$ENDIF}
und es erscheint die Fehlermeldung.

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EPrivilege aufgetreten. Meldung: 'Privilegierte Anweisung'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Gruß Kacze

Daniel Schuhmann 7. Dez 2005 11:13

Re: Fehlermeldung mit Assembler
 
Das liegt einfach daran, daß Du unter Windows NT/2000/XP/2003 die Berechtigung nicht hast. Der Code geht so nur unter Windows 9x. Für NT+ brauchst Du nen Treiber.

http://www.specosoft.com/en/zlportio.html

Kacze 7. Dez 2005 11:20

Re: Fehlermeldung mit Assembler
 
Auch wenn ich die zlportio und die ddkint einbinde und folgendes in die FormCreate eintrage

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
  begin
    zliosetiopm(TRUE);
  end;
lübt das nicht :(
kann es vielleicht dran liegen das die Formcreate hinter dem Stdcall usw liegt??
Gruß
Kacze

Daniel Schuhmann 7. Dez 2005 11:28

Re: Fehlermeldung mit Assembler
 
Was lübbt denn nicht?

Programm hängt immer noch beim Assemblercode: Deinen Assemblercode kannst Du da nicht benutzen, stattdessen mußt du IN und OUT durch zlioportread und zlioportwrite ersetzen.

ZLPortIO funktioniert nicht: Du mußt es vorher mit ZLIOStarted initialisieren. Zudem muß der Treiber im Anwendungsverzeichnis oder im Systempfad liegen. Ansonsten siehe Demo, die läuft nämlich :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.

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