Die Frage ist ganz einfach:
(Wie) Kann kann man den
DLL-EntryPoint mit einer Exportfunktion tauschen?
Der Hintergrund ist eben so einfach:
Ich möchte praktisch, daß z.B.
Unit-Initialisierungen etwas später vorgenommen werden,
speziell die von der SysUtils und Co.
Es handelt sich um eine statisch verlinkte
DLL und ich hätt gern, daß diese Initialisierungen erst nach den Intitialisierungen der EXE geschehen (indem ich's dann manuell über eine "Init"-Prozedur aufrufe).
Ansonsten müßte ich Einiges mehr umstellen und ...
es handelt sich um die
DLL-Version mit Objekten meines himXML
... und außerdem würde dann der MemoryManager der
DLL und nicht wie in der aktuell hochgeladenen Version der der EXE verwendet. (obwohl das notfalls auch ginge, nur daß man dann, wie bei ShareMem etwas mehr mit der Unitreihenfolge aufpassen muß)
Obwohl ... wo ich das hier grad so schreib ... das ShareMem-Problem wäre ja nicht soooo schlimm, aber ich wollte halt ungern unbedingt am MemoryManagement fremder Anwendungen rumspielen und wenn da dann wer einen "alternativen" MemoryManager verwenden wöllte, dann müßte er diesen in der
DLL einbauen, da dann der der EXE mit dem der
DLL überschrieben würde (im aktuellen himXML ist es ja so, daß die
DLL da noch dynamisch geladen wird und den MM der EXE verpaßt bekommt ...
in etwa so).
Außerdem hab ich jetzt schon etwas Zeit in dieses Problem gesteckt
und die direkte External-Verlinkung der Objekte gefällt mir halt besser, als das "verbigen" eines Objektes mit virtuellen Methoden, wie es in der aktuell onlinestehenden Version der Fall ist.
Und zusätzlich hatte ich es geschafft die RTTIs der Objekte in der
DLL und Exe abzugleichen (is und as funktionieren mit der selben Objektinstanz in beiden Modulen) ... wäre schade das jetzt wieder ändern zu müssen