Ich versuchs mal mit meinen bescheidenen Wissensstand:
Es sind zwei verschiedene Speichermanager!
Einer in der Anwendung, einer in der
DLL.
Die Strings (AppVersion, Model...) unterliegen den Speichermanager der
DLL.
Wenn die
DLL entladen wird, werden auch alle referenzgezählten Typen darin freigeben, also die Strings!
Ergebnis: Du hast im MasterVersion-Objekt in deiner Anwendung zwar noch gültige Adressen auf irgendwelche Speicherbereiche, aber da steht jetzt was anderes bzw. Müll drin.
Heißt das, das bei der
BPL ein Speichermanager für alles zuständig ist, während bei der gewöhnlichen
dll 2 verschieden sind. Ich diskutier gerade beim Lazaurs 1.2 Thread mit, dort geht es um die notwendige Neuübersetzung der
IDE bei Installation neuer Komponenten. Ist also das Speichermanagerproblem einer der Gründe dafür?
@mkinzler: Was ist eine "flache Schnittstelle"?
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.