Hallo,
mit _AddRef und _Release würde ich erst experimentieren, wenn ich mich gut mit Interfaces auskenne.
Ich habe Dein Beispiel aus dem ersten Beitrag mal etwas überarbeitet und folgende Änderungen vorgenommen:
- Instanzen und Interfaces nicht mehr gemischt (IApp/TApp). Diese niemals mischen (siehe oben: man sollte genau wissen, was man tut)
- Interfaces werden per const übergeben (dadurch wird die Referenzzählung nicht belastet)
- DLL wird beim Programmstart geladen und beim Beenden entladen
- IApp ist von Form1 entkoppelt
Du solltest nie eine
DLL entladen, wenn Du in der Methode ein lokales Interface dieser
DLL hast. Beim Beenden der Funktion sorgt die Compiler-Magic nämlich dafür, dass das Interface abgebaut wird. Wenn aber die
DLL bereits entladen ist, dann gibt's eine
AV.
Gruß
xaromz