Problem mit IowKitOpenDevice

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

Problem mit IowKitOpenDevice

Post by NiGGo »

Also ich habe folgendes Problem (wurde glaube ich schon mal vor längerer Zeit im Forum angesprochen). Ich habe ein kleines Programm zum "warm werden" geschrieben das einfach nur nach einem Mausklick sagen soll ob ein IO-Warrior angeschlossen ist oder nicht.

Code: Select all

procedure TForm1.B_IOClick(Sender: TObject);

begin

LoadIowKitAPI;
ioHandle := IowKitOpenDevice;

if Assigned(ioHandle) then
 begin
  Panel1.Caption := 'IO-Warrior gefunden!';
  Panel1.Color := clGreen;
  IowKitCloseDevice(ioHandle);
 end

else
 begin
  Panel1.Caption := 'Kein IO-Warrior gefunden!';
  Panel1.Color := clRed;
  IowKitCloseDevice(ioHandle);
end;

So dann starte ich das Programm klicke auf den Button und bekomme das angezeigt. Sobald ich aber nach dem ersten Klicken den IO-Warrior abstecke/anstecke und erneut klicke ändert sich der Zustand nicht mehr.

Kann das sein das es einen Puffer gibt der geleert werden muss?

mfG

NiGGo

PS: Es handelt sich um einen IO-Warrior 40 und das neuste SDK
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Ist da auch ein UnloadIowKitAPI in der Methode enthalten?
NiGGo
Posts: 12
Joined: Sat Dec 17, 2005 12:25 pm

Post by NiGGo »

Nein, habe das aber analog zu IowKitCloseDevice(); hinzugefügt und jetzt funktioniert es !

Vielen Dank für die schnelle Hilfe!


mfG

NiGGo

Code: Select all

procedure TForm1.B_IOClick(Sender: TObject);
begin

LoadIowKitAPI;
ioHandle := IowKitOpenDevice;

if Assigned(ioHandle) then
 begin
  Panel1.Caption := 'IO-Warrior gefunden!';
  Panel1.Color := clGreen;
  IowKitCloseDevice(ioHandle);
  UnLoadIowKitAPI;
 end

else
 begin
  Panel1.Caption := 'Kein IO-Warrior gefunden!';
  Panel1.Color := clRed;
  IowKitCloseDevice(ioHandle);
  UnLoadIowKitAPI;
 end;

end;
Post Reply