Hast du mal probiert dass FreeLibrary testweise in ein FormClose o.ä. zu packen um ein/auszuschließen dass es am finalization liegt?
Dann seh ich in deiner
DLL ein Interface. Da gibt es auch einige Möglichkeiten ins Fettnäpfchen zu treten.
Wie gibst du denn deine Objekte in der
DLL frei?
$C0000005 ist übrigens nur der interne Code für Zugriffsverletzungen.
Die meisten deiner Vermutungen sind denke ich falsch.
DLL und Anwendung teilen sich einen Speicher.
Da sieht Windows selbst erst mal keinen Unterschied.
PS: Dein try-finally oben bewirkt rein gar nichts wenn das finally leer ist.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."