HID-Komponente in DLL

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
Laith
Posts: 5
Joined: Tue Jan 03, 2006 3:10 pm
Location: Berlin

HID-Komponente in DLL

Post by Laith »

Hallo,

ich versuche die HID-Komponente (Delphi / Marquardt) und einige andere Funktionen in eine DLL zu implementieren. Das mache ich, um später mich um die HID funktionen nicht mehr kümmern zu müssen. Und nur die Funktionen werden exportiert, die ich später in meiner Software verwenden möchte.

z.B WriteToLCD("Das ist ein LCD");
Alles andere soll die DLL für mich erledigen.

Das hat den Vorteil, dass ich diese DLL mit verschiedenen Programmiersprachen verwenden kann. Die ein paar Funktionen deklarieren, und es geht los!

Auf die Art und Weise wie ich die HID-Komponente implementiert habe, hatte ich schon mal andere Komponenten wie z.B. für das COM-Port implementiert. Diese funktionieren fehlerfrei.

Wenn Ich die HID-Komponente direkt in die Software einbau, funktioniert auch alles fehlerfrei. Wenn ich aber versuche diese Komponente in einer DLL einzubauen, und dann die DLL in die Software, dann habe ich folgendes Problem:

HID Gerät nicht angeschlossen:
Software gestartet
USB Kabel einstecken, herausziehen : passiert nichts.

HID Gerät bereits angeschlossen:
Nur beim Starten des Programms werden die EVENTS OnArrival, OnRemoval, usw.. ausgelöst. Danach werden die EVENTS nicht mehr ausgelöst. Also nachdem die Software erfolgreich gestartet wurde, passiert nichts mehr!
USB Kabel herausziehen, hineinstecken : passiert nichts.

Hat jemand eine ähnliche Erfahrung gemacht?
Wo könnte das Problem liegen?


Umgebung:
Win98SE
Delphi 5 Prof. English


vielen Dank
Laith
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Dieser Bug ist in der neuesten Version der HID-Komponente behoben.
Die Komponente erzeugt sich inzwischen ein privates unsichtbares Fenster um die WM_DEVICECHANGE-Message abzufangen.
Die aktuelle Version der Komponente ist 1.0.32. Sie ist auch immer in der JediVCL http://jvcl.sf.net enthalten.
Laith
Posts: 5
Joined: Tue Jan 03, 2006 3:10 pm
Location: Berlin

Post by Laith »

Danke.

Die Komponente kann leider nicht compliert/installiert werden

bei der älteren Komponente ging es
requires
vcl50;

Die neue Komponente braucht
requires
vcl;

diese vcl wird nicht gefunden!

hat das mit Delphi 5 zu tun?
Die Komponente habe ich von hier
http://www.soft-gems.net/HID.php
heruntergeladen


danke
Laith
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Das ist ein Delphi 6 Package.
Einfach das .dpr editieren und die Zeile "{$ALIGN 8}" loeschen und "vcl" in "vcl50" aendern.
Laith
Posts: 5
Joined: Tue Jan 03, 2006 3:10 pm
Location: Berlin

Post by Laith »

vielen dank.

es funktioniert einwandfrei


Gruss
Laith
Post Reply