AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein CoCreateInstance und freigeben von geladenen Objecten
Thema durchsuchen
Ansicht
Themen-Optionen

CoCreateInstance und freigeben von geladenen Objecten

Ein Thema von venice2 · begonnen am 3. Jul 2020 · letzter Beitrag vom 5. Jul 2020
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

CoCreateInstance und freigeben von geladenen Objecten

  Alt 3. Jul 2020, 08:48
Ich lade DLL's vom System mit CoCreateInstance und der CLSID.
Wie gibt man diese wieder frei ohne das Programm zu beenden? Die DLL's
Ich habe bemerkt wenn man diese nicht freigibt die verwendeten Ressourcen der DLL's nicht freigegeben werden die summieren sich.

Geändert von venice2 ( 3. Jul 2020 um 08:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: CoCreateInstance und freigeben von geladenen Objecten

  Alt 3. Jul 2020, 11:22
Nunja, wenn die letzte Instanz der erzeugten Objekte freigegeben wurden (nil oder Variable weg),
dann kommt es drauf an, wie das drüben implementiert wurde, also ob dann auch die eventuelle "globale" Variablen freigegeben und eventuell sogar die ganze DLL entladen wird.

Da hast du keinen einfluss drauf
und wenn du es dann selbst freigibst, dann bist du selbst dran Schuld, falls es negative Auswirkungen hat. (falls ein zwischendrin Entladen und eventuell späteres neuladen nicht richtig unterstützt wird)


per se:
GetModuleHandle + FreeLibrary
oder LoadLibrary und zwei Mal FreeLibrary
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: CoCreateInstance und freigeben von geladenen Objecten

  Alt 3. Jul 2020, 12:51
OK Danke dann hat sich das erübrigt.
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: CoCreateInstance und freigeben von geladenen Objecten

  Alt 5. Jul 2020, 15:59
Zitat:
Da hast du keinen einfluss drauf
Doch.
Nach einigen recherchieren habe ich die Lösung gefunden.

CoFreeUnusedLibraries;

Nach ca. 1 Min werde alle Libs freigegeben die nicht mehr verwendet werden.
Ich muss sie also nicht mehr Stundenlang im Speicher halten.
Das war es schon.

Geändert von venice2 ( 5. Jul 2020 um 16:02 Uhr)
  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 11:49 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