AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Referenzzähler runterzählen

Ein Thema von EWeiss · begonnen am 15. Jun 2016 · letzter Beitrag vom 15. Jun 2016
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Referenzzähler runterzählen

  Alt 15. Jun 2016, 00:10
Ist es möglich den Referenzzähler codemäßig herunterzuzählen?
Ich habe das Problem wenn meine DLL nicht komplett aus dem Speicher entfernt wird
dann läuft diese nicht mehr nach einen 3 Aufruf.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 01:19
Von was denn? Referenzzähler von Interfaces oder der Dll selbst?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 01:26
Von was denn? Referenzzähler von Interfaces oder der Dll selbst?
Der DLL

Ich muss jetzt zweimal
Delphi-Quellcode:
      
FreeLibrary(VisDLLHandle);

FreeLibrary(VisDLLHandle);
eingeben damit der Referenzzähler runtergezählt wird.
Programmtechnisch ist das aber nicht gerade die feinste art.

Auch bei Com-DLL's das gleiche trotz NIL bleiben die im Speicher.
Ich muss diese aber unbedingt entfernen.
_Release springt leider nicht an.

gruss

Geändert von EWeiss (15. Jun 2016 um 02:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 07:56
Du musst die DLL nur 2x freigeben wenn du sie auch zweimal geladen hast.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 08:01
Auch bei Com-DLL's das gleiche trotz NIL bleiben die im Speicher.
Ich muss diese aber unbedingt entfernen.
_Release springt leider nicht an.
Bei COM-DLL musst du MS um eine änderung der Windows-Implementierung bitten.
Hier sagt sich MS: Da es es schon mal verwendet wurde lass ich die DLL im Speicher.

Aber wäre es nicht besser den eigentlichen Fehler zu korrigieren als um den Fehler herum zu Programmieren?
Was für ein Fehlerbild hast du den?
Das die DLL nicht entladen wird (jedenfalls bei COM) ist kein Fehler
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#6

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 13:45
Drum heißt es ja auch Referenzzähler.
Jedes einzelne LoadLibrary erfordert auch ein FreeLibrary.

Gut, man könnte jetzt auch mit GetModuleHandle und FreeLibrary so lange suchen+freigeben, bis es weg ist,
aber was wohl passieren mag, wenn irgendwo jemand noch denkt die DLL zu haben, durch sein LoadLibrary, und drauf zugreifen will, aber du ihm die DLL geklaut hast?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 14:32
Zitat:
Was für ein Fehlerbild hast du den?
Das die DLL nicht entladen wird (jedenfalls bei COM) ist kein Fehler
Keines
Mich nervt es nur das die ganzen DLL's im Speicher liegen.

Zitat:
aber was wohl passieren mag, wenn irgendwo jemand noch denkt die DLL zu haben, durch sein LoadLibrary, und drauf zugreifen will, aber du ihm die DLL geklaut hast?
Was geklaut
Habe niemand was weggenommen.

Zitat:
Du musst die DLL nur 2x freigeben wenn du sie auch zweimal geladen hast.
Oh dann bin ich blöd denn das wusste ich nicht.

Danke für die Info.


gruss

Geändert von EWeiss (15. Jun 2016 um 14:34 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Referenzzähler runterzählen

  Alt 15. Jun 2016, 16:42
@Neutral General

Habe es jetzt nochmal optimiert.
Jetzt geht es wieder auf normalen weg 1x Unload Library

Danke

gruss
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:10 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