AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Dll zum Löschen bzw. Ersetzen freigeben
Thema durchsuchen
Ansicht
Themen-Optionen

Dll zum Löschen bzw. Ersetzen freigeben

Ein Thema von Nogge · begonnen am 30. Okt 2005 · letzter Beitrag vom 7. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#1

Dll zum Löschen bzw. Ersetzen freigeben

  Alt 30. Okt 2005, 11:49
Hallo Community,
Ich habe mir eine DLL programmiert, auf die der Explorer zugreift, wenn ein ContextMenu mit Rechtsklick geöffnet wurde. Nachdem ich einmal solch ein PopUp-Menu aufgerufen habe, lässt sie sich nicht mehr löschen, da der Explorer immer noch für weitere Rechtsklicks die DLL geöffnet hat. Erst nach einem Neustart kann ich die Dll wieder entfernen. Ich erweitere bzw. verbessere diese Dll im mom noch häufig und möchte diese nach den Veränderungen auch sofort testen, was bisher halt nur nach nem Neustart möglich war. Weiß jemand eine Möglichkeit, wie ich eine Dll wieder so freigebe, dass sie gelöscht bzw. ersetzt werden kann?

plz help me^^
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 30. Okt 2005, 11:52
du schreibst neustart, meinst du damit einen Rechnerneustart? Im normalfall solllte ein neu anmelden helfen bzw. das schließen des explorer-Prozesses per Taskmanager.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#3

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 30. Okt 2005, 12:26
Ja, tut mir leid, dass ich mich nicht so deutlich ausgedrückt hatte: Ich meinte einen Rechner-Neustart.
Boah, wie umständlich Es gibt also keine Möglichkeit mehr, die Dll freizugeben, wenn sie einmal in den explorer geladen wurde?
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:17
Ich stelle meist die Option:
Extras -> OrdnerOptionen -> Ansicht -> Ordnerfenster in einem eigenen Process starten auf wahr.

In Delphi für die DLL:
Start -> Parameter:

Host-Anwendung: c:\windows\explorer.exe


Nebeneffekt: Man kann wie gewohnt die Anwendung Debuggen.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:26
eine weitere Möglichkeit wäre eine DLL dazwischen zu hängen welche die Funktion durchreicht zu der eigentlichen DLL. In der zwischen DLL könntest du somit die eigentliche DLL dynamich laden und dadurch sollte die eigentliche DLL auch zu ersetzen sein.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#6

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:29
Zitat von SirThornberry:
eine weitere Möglichkeit wäre eine DLL dazwischen zu hängen welche die Funktion durchreicht zu der eigentlichen DLL. In der zwischen DLL könntest du somit die eigentliche DLL dynamich laden und dadurch sollte die eigentliche DLL auch zu ersetzen sein.
Find ich ehrlich gesagt etwas übertrieben, wenn man nur seine Dll-Entwickeln und Testen will. Zweitens: sowas zu Debuggen muss die Hölle sein.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:32
@neolithos: Es geht ja hier nicht ums debuggen sondern darum das der Explorer die DLL nicht wieder freigibt. Und wenn man ihm dann einfach die DLL weg klaut (in dem man den Prozess beendet) dann kann das auch wunderschöne Fehler hervorrufen. Soll aber nicht heißen das deine Variante schlechter ist (im Gegenteil). Es geht nur darum möglichst viele Lösungsmöglichkeiten aufzuzeigen und dann kann sich der Fragesteller die für ihn beste heraussuchen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:35
Zitat von Nogge:
...Ich erweitere bzw. verbessere diese Dll im mom noch häufig und möchte diese nach den Veränderungen auch sofort testen, was bisher halt nur nach nem Neustart möglich war...
Ich habe genau diesen Absatz in dem Thread #1 interpretiert.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#9

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 31. Okt 2005, 09:35
Zitat von Nogge:
Weiß jemand eine Möglichkeit, wie ich eine Dll wieder so freigebe, dass sie gelöscht bzw. ersetzt werden kann?
Hmm... soll das nur zum Testen sein? Dann würde ich dir ein Programm dafür empfehlen:

Unlocker

Is' eigentlich recht gut.
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#10

Re: Dll zum Löschen bzw. Ersetzen freigeben

  Alt 5. Nov 2005, 08:35
Danke, für die verschiedenen Lösungsansätze. Ich habe das Programm "Unlocker" mal getestet, doch leider kann es die DLL nicht sofort freigeben. Erst beim nächsten Start von Windows sei es möglich, die DLL zu löschen.
Ich möchte natürlich die DLL nach meinen Code-Optimierungen später auch nutzen, dann wäre es mir egal, dass die DLL in Benutzung ist. Doch bis dahin möchte ich meine Veränderungen im Code halt sofort auf Bugs usw. testen können.
@SirThornberry: Deine Variante wäre grundsätzlich eine Möglichkeit, jedoch benutze ich diese DLL für das Hinzufügen einiger Einträge in das ContextMenu des Explorers, der eine bestimmte Struktur innerhalb der DLL voraussetzt. Da kann ich doch keine DLL zwischenlegen, oder?
  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:43 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