![]() |
DLL mehrfach laden? Geht das irgendwie?
Hallo zusammen.
ich verzweifel daran, wie eine DLL mehrfach geladen werden kann. Ich lade ein Assembly (DLL) momentan so:
Code:
Ein Mehrfachaufruf bringt nichts, da .NET die Assembly nur einmal lädt, egal wie oft der obige Code aufgerufen wird.
AssemblyName an = AssemblyName.GetAssemblyName(pluginFilePath);
Assembly assembly = Assembly.Load(an); Mit "AppDomain" habe ich herunbrobiert, aber damit kam ich nicht weiter. Weiter geht's mit
Code:
Ich möchte die DLL mehrfach laden bzw. mehrere Instanzen haben, damit diese unabhängig voneinander die Private-Variablen nutzen können und sich nicht gegenseitig überschreiben.
plugin = (IPlugin_Device)Activator.CreateInstance(pluginType);
Wie macht man das? Bzw. wie kann ich überprüfen, ob mit "CreateInstance" auch wirklich mehrere Instanzen erzeugt wurden? Es sieht momentan so aus, als teilen sich meine Plugins einen Speicherbereich. Edit: Argh, da tippsel ich hier und nun kam mir die Lösung. Es funktioniert alles wie oben genannt. Es war ein Synchrinisationsfehler innerhalb meines DLL-Codes. :wall: Grüße Matze |
AW: DLL mehrfach laden? Geht das irgendwie?
Zitat:
|
AW: DLL mehrfach laden? Geht das irgendwie?
Ja, aber die lädt es auch standardmäßig nur einmal.
Mit "CreateInstance" können davon dann aber mehrere Instanzen erzeugt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz