Thema: Delphi Probleme mit io.dll

Einzelnen Beitrag anzeigen

lprade

Registriert seit: 19. Okt 2005
14 Beiträge
 
#1

Probleme mit io.dll

  Alt 22. Jun 2006, 12:29
Hallo zusammen,
Ich möchte den Parallelport über den io.dll (www.geekhideout.com/iodll.shtml) ansteueren. Habe dazu ein Programm geschrieben. Den .dll kann ich über die Funktion "isdriverinstalled" auch anrufen, und bekomme ein boolean True zurück. Wenn ich aber versuche über die prozedure Portout() alle pins auf high zusetzten, kann ich das Programm nicht einmal mehr compilieren. Ich erhalte die Fehlermedlung "access violation at 0x7c947a50" und ein Fenster "project stack" und "Project2" wird geöffnet. Ausserdem wird die ganze Ansicht des Compliers geändert, es spielt einfach alles verückt. Der Sourcecode meines Programms ist:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
procedure Portout(Port:Word; Data:Byte); stdcall; external 'io.dll'; //deklariere die beiden Prozeduren, die ich benutzen möchte
procedure Isdriverinstalled(i: Boolean); stdcall; external 'io.dll';
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var Isdriverinstalled:boolean;
begin
if Isdriverinstalled then showmessage('.dll gefunden') else showmessage('.dll nicht installiert');
end; //Auf Knopfdruck wird überprüft, ob der .dll vorhanden ist

procedure TForm1.Button2Click(Sender: TObject);
begin
portout($0378,255); //Hier versuche ich alle Ports of high zusetzten, und hier scheint das Problem zu sein, denn ohne
                    //diesen Teil funktionert das Programm problemlos
end;

end.
Wisst ihr was ich falsch mache? Habe eigentlich fast genau ein Beispiel hier im Forum nachgearbeitet. Kann mir jemand helfen?
Vielen Dank
Ludwig
  Mit Zitat antworten Zitat