Hallo und guten Morgen,
komisch, aber wahr. Eigentlich wollte ich vor dem Aufstehen nur noch schnell die Umgebung zum Testen fertig machen. Beim Öffnen bin ich genau da gelandet, wo ich schon einen Befehl eingebaut, aber wegen akuten Zeitmangels erst mal wieder auskommentiert hatte.
Diesmal habe ich ihn versucht und es klappte sofort alles!
Ich habe es mit der UsagesDemo und einem Programm von mir, wo ich das HID eingebaut hatte, getestet. Bisher kein Fehler...
Also, bei mir klappt es jetzt.
Wie gleich zu Anfang vermutet, lag es an der fehlenden Freigabe von FPnpInfo in TJvHidDeviceController.Destroy in der
Unit JvHidControllerClass.
Genauer:
Delphi-Quellcode:
destructor TJvHidDeviceController.Destroy;
var
I: Integer;
HidDev: TJvHidDevice;
begin
(...)
for I := 0 to FList.Count - 1 do
begin
HidDev := FList.Items[I];
with HidDev do
begin
// set to uncontrolled
FMyController := nil;
//hier muss das dazu kommen:
FPnpInfo.Free;
if IsCheckedOut then
DoUnplug // pull the plug for checked out TJvHidDevices
else
Free; // kill TJvHidDevices which are not checked out
end;
end;
FList.Free
(...)
inherited Destroy;
end;
Gruß
Mattze