Mein Programm verwendet selbst erstellte DLL’s, welche weitere DLL’s aufrufen.
Bsp: Programm instanziert Session.DLL
Session.DLL instanziert Contact.DLL (ContactManager.cls -> ContactCollection.cls -> Contact.cls)
Contact.cls instanziert System.DLL
Wenn nun mein Programm alle Daten die es braucht gelesen hat, was ca. 70Mb Memory braucht, sollten die DLL’s terminiert werden. Da der Befehl Set Session = nothing etc. nichts bewirkt hat, habe ich in den DLL’s eine Funktion geschrieben, die alle Unterobjekte der DLL terminiert. Das heisst: in der ContactCollection zum Beispiel, loope ich durch die Collection und rufe Collection.remove(xy) auf. Diese Massnahme brachte jedoch keine Linderung meines Memory-Problems. Erst beim Beenden des Programmes wird der Speicher freigegeben. Dies ist jedoch in meiner Client-Server-Architekur nicht möglich.