AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Anderes Programm zwingen, DLL zu entladen
Thema durchsuchen
Ansicht
Themen-Optionen

Anderes Programm zwingen, DLL zu entladen

Ein Thema von OregonGhost · begonnen am 18. Jul 2002 · letzter Beitrag vom 19. Jul 2002
Antwort Antwort
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#1

Anderes Programm zwingen, DLL zu entladen

  Alt 18. Jul 2002, 15:35
Folgendes Problem: Ich entwickle derzeit ein Add-In für Microsoft Visual C++, und zwar in Visual C++ (na sowas).
Dieses ist als DLL realisiert. Wenn ich die DLL kompiliert habe, aktiviere ich das Addin einfach und kann es testen. Wenn ich es erneut kompilieren möchte, muss ich es vorher deaktivieren, logisch.
Wenn ich es jetzt aber kompiliere mosert der Linker rum, dass er die Datei nicht zum Schreiben öffnen kann - ergo ist sie noch von Visual C++ geöffnet bzw. wurde nicht entladen. Ein Neustart von Visual C++ behebt das Problem.

Jetzt meine Frage: Wie bringe ich Visual C++ dazu, meine DLL (die es definitiv nicht mehr benötigt, weil das Addin deaktiviert ist), zu entladen?

Egal ob per API oder Registry oder über miese Tricks, Hauptsache es geht sonst krieg' ich noch eine Krise...
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#2
  Alt 18. Jul 2002, 15:55
Hi OregonGhost,

vielleicht (!) kann dir dieses Prog helfen (ist auch mit C++-Source):
http://www.codeguru.com/dll/LoadDll.shtml

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#3
  Alt 19. Jul 2002, 10:59
Ich werd's mir anschauen, danke schonmal - könnte das richtige sein.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 19. Jul 2002, 11:37
Moin Oregon Ghost,

die für das genannte Beispiel notwendige Funktion CreateRemoteThread steht allerdings nur auf der NT Schiene zur Verfügung.
9x/ME enthalten diese Funktion nicht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5
  Alt 19. Jul 2002, 12:33
Wenn ich das Gleiche für Delphi mache, gibt es genau das Problem. Ein mögliche Lösung ist folgende:
  • Plug-In deaktivieren
  • VC++ starten (Plugin nicht geladen)
  • Plugin aktivieren
  • Plugin programmieren/ändern
  • neue VC++ Instanz starten und testen
  • 2. VC++ Instanz schließen
  • weiter programmieren
  • wieder VC++ Instanz starten
  • ...
Wenn VC++ das unterstützt, dann ist das der wohl effektivste Weg, da die Plugins nur beim Starten geladen werden...
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  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 06:32 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