Fehler in Delphi beim Compilieren

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
NiGGo
Posts: 12
Joined: Sat Dec 17, 2005 12:25 pm

Fehler in Delphi beim Compilieren

Post by NiGGo »

Hallo!

Ich habe vor kurzem Angefangen in Delphi zu programmieren und wollte testen ob ich den IO-Warrioir ansprechen kann. Sobald ich das Programm compilieren will meldet sich der Debugger mit folgendem Fehler.

Image

Was habe ich falsch gemacht?

------

Hier der Code:

Code: Select all

var
  Form1: TForm1;
  ioHandle: IOWKIT_HANDLE;
  Report40: IOWKIT40_IO_REPORT;

Code: Select all

LoadIowKitAPI;
ioHandle := IowKitOpenDevice;

if Assigned(ioHandle) then

begin

IowKitWrite(ioHandle,0, @Report40 ,0);

IowKitCloseDevice(ioHandle);

end
------

Gibt es kein Beispielcode für die Funktion IowKitWrite() in der Dokumentation? Dort befindet sich nur ein Beispiel für C#. (Ende Seite 18)

Sehe ich das Richtig das der dritte Wert der die Funktion IowKitWrite() benötigt nur der IO-Warrior Typ ist?


mfG NiGGo

PS: IowKitOpenDevice() geht ohne Probleme!
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Welche Delphi-Version wird denn benutzt?
Die Exception hat wohl nichts mit dem IOWarrior zu tun. Gesehen habe ich sie bisher noch nie.
Sie besagt das das EXE nicht korrekt erstellt wurde, denn es scheint die Ressource fuer das Hauptfenster zu fehlen.

Die Dokumentation enthaelt bestimmt kein Beispiel fuer C#.

Der dritte Parameter ist die Laenge des uebergebenen Puffers. In diesem Fall also IOWKIT40_IO_REPORT_SIZE oder IOWKIT_SPECIAL_REPORT_SIZE je nach dem in welche Pipe man schreiben will.

Die beste Vorgehensweise ist es eines der Beispielprojekte auszuschlachten.
NiGGo
Posts: 12
Joined: Sat Dec 17, 2005 12:25 pm

Post by NiGGo »

Ich benutze Delphi 2005.

Hab die Beispiele schon ausgeschlachtet, mir war nur die Bedeutung nicht ganz klar.

mfG NiGGo

PS: Ich meinte C sorry!
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Das naechste API wird zumindest an dieser Stelle vereinfacht. Man kann nur noch einen Report lesen und schreiben. die Laenge des Reports ist dann entscheidbar und muss nicht angegeben werden. Dafuer wird das API an anderer Stelle anspruchsvoller. Fuer Delphi gibt es dann aber vielleicht eine Klasse oder Komponente.

Die Aufrufe LoadIowKitAPI und UnloadIowKitAPI sind uebrigens in Delphi notwendig, da die iowkit.dll damit dynamisch geladen wird.
Post Reply