AGB  ·  Datenschutz  ·  Impressum  







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

DLL nach Benutzung wieder freigeben

Ein Thema von TheMiller · begonnen am 13. Jun 2007 · letzter Beitrag vom 29. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

DLL nach Benutzung wieder freigeben

  Alt 13. Jun 2007, 17:40
Hallo,

ich habe ein kleines Problem. Ich habe ein Programm, welches Plug-Ins über DLLs einbindet. Jetzt möchte ich aber nicht alle DLLs beim Programmstart laden, sondern erst dann, wenn die einzelnen Module gebraucht werden. Das ist eigentlich auch kein Problem. Das Problem ist eher das Freigeben. Die PlugIn-DLLs enthalten allesamt Formulare, die der Anwender bedient. Schließt er nun ein Formular, wird es ja noch weiter ausgeführt. Wie kann ich jetzt feststellen, dass das PlugIn nicht mehr verwendet wird, sodass ich es dann freigeben kann..

Danke im Voraus
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: DLL nach Benutzung wieder freigeben

  Alt 13. Jun 2007, 18:07
Da mußt du schon über die eigene Programmlogik dies Sicherstellen. Eine Funktion der Art UnloadDynamicLoadedDLLIfNoLongerNeeded gibt es nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: DLL nach Benutzung wieder freigeben

  Alt 13. Jun 2007, 19:10
Macht das nicht Windows sowieso automatisch, bzw. 'on demand'?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: DLL nach Benutzung wieder freigeben

  Alt 13. Jun 2007, 22:25
Zitat von alzaimar:
Macht das nicht Windows sowieso automatisch, bzw. 'on demand'?
Laden teilweise ja. Entladen: Nein. Es wird bei Nicht-Gebrauch der reale Ram freigegeben da ja aus der DLL die Teile bei Bedarf nachgeladen werden können. Ist aber dann Aufgabe des Speichermanagers des OS und der MPU des Prozessors.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#5

Re: DLL nach Benutzung wieder freigeben

  Alt 14. Jun 2007, 23:27
Danke...

Hm... wie kann ich eine solche Funktion realisieren? Habe keine Idee.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: DLL nach Benutzung wieder freigeben

  Alt 16. Jun 2007, 10:01
Indem du allen Zugriff auf eine solche DLL über ein Klasse (Könnte das Fassaden-Muster sein). Und diese weis dann ob die DLL noch nötig ist oder nicht (z.B. Laden im Konstruktor, Endladen im Destruktor).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: DLL nach Benutzung wieder freigeben

  Alt 16. Jun 2007, 12:07
Danke, das werde ich mir nochmal genauer ansehen!

Schönes WE!
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#8

Re: DLL nach Benutzung wieder freigeben

  Alt 16. Jun 2007, 12:41
Ja... hier bin ich wieder...

Hab mir mal den Wiki-Eintrag angesehen und hier im Forum nach Fassade geschaut. Aber ich habe leider noch keine Vorstellung, wie das konkret funktioniert... Gibt es irgendwo ein Tutorial, das mir beim Verständnis helfen könnte?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

Re: DLL nach Benutzung wieder freigeben

  Alt 16. Jun 2007, 14:21
Zitat von DJ-SPM:
Ja... hier bin ich wieder...

Hab mir mal den Wiki-Eintrag angesehen und hier im Forum nach Fassade geschaut. Aber ich habe leider noch keine Vorstellung, wie das konkret funktioniert... Gibt es irgendwo ein Tutorial, das mir beim Verständnis helfen könnte?
Du hast ja auch noch die möglichkeit diese als ActiveX.dll auszulegen.
Kannst du über Interface realisieren.

Diese kannst du dann bei bedarf registrieren und unregistrieren

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#10

Re: DLL nach Benutzung wieder freigeben

  Alt 24. Jun 2007, 15:24
Hallo,

hab mich nochmal damit beschäftigt und bin auf die Idee gekommen, dass das evtl auch über selbsterstellte Messages gehen kann. Ist das richtig, oder funktioniert das doch nicht. Habe noch nie eine Message selbst versendet bzw. erstellt.

Danke!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13: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