AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi JVHIDControllerClass mit Speicherlecks?
Thema durchsuchen
Ansicht
Themen-Optionen

JVHIDControllerClass mit Speicherlecks?

Ein Thema von Mattze · begonnen am 3. Mär 2009 · letzter Beitrag vom 8. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#11

Re: JVHIDControllerClass mit Speicherlecks?

  Alt 5. Mär 2009, 19:43
Wäre schön, wenn du hier einen Kommentar hinterlässt, wenn es geklappt hat. Dann passe ich den JVCL Code an.
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#12

Re: JVHIDControllerClass mit Speicherlecks?

  Alt 6. Mär 2009, 15:34
Hallo,

mache ich natürlich.
Kann aber noch ein Momentchen dauern.
Gestern bin ich nicht mehr dazu gekommen. Vielleicht am Wochenende...

Gruß
Mattze
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#13

Re: JVHIDControllerClass mit Speicherlecks?

  Alt 8. Mär 2009, 08:13
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz