Einzelnen Beitrag anzeigen

BGeers

Registriert seit: 27. Apr 2007
6 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: DLL mit Runtime-Packages: Entladehemmung!?

  Alt 25. Jun 2007, 15:39
Das Nichtfunktionieren des is - Operators aufgrund unschiedlicher RTTI-Objekte lässt sich auch schön im Debugger verfolgen. Das darufhin erzielte Ergebnis ist auch eindrucksvoll: "TFont ist nicht vom Typ TFont".
Deshalb nutzten wir die Runtime-Packages, geraten aber nun mit unseren DLL's vom Regen in die Traufe: Eine von ihnen lässt sich schön laden und entladen, bei der zweiten knallts am Programmende. In Kürze das was ich über das Problem weiss:
- Es reicht, eine zweite DLL zu laden und sofort zu entladen: Knall!!
- vollkommen entleerte DLL laden und entladen: dito
- wo knallt es: verantwortlich ist der Handlungsstrang nach ExitProcess (_Halt0 in system.pas). FinalizeUnits läuft also noch ohne Probleme durch
- verantwortlich scheinen die OLE-DB-Treiber zu sein. Je nach verwendeter DB (Firebird oder Oracle) werden unterschiedliche Fehler kredenzt.
- im Speicher bleiben Objekte vom Typ AdoDB.asyncEventMessenger stehen; gilt für beide DB's

Verzichte ich auf Runtime-Packages, bleiben die Fehler aus.

Alternativ: Vielleicht weiss jemand, wie sich RTTI-Barrieren tunneln lassen??
  Mit Zitat antworten Zitat