Ich bin echt neugierig ob der Umweg über eine Wrapper-
DLL funktioniert. Weil
IMHO doch dann immer noch der Speichermanager der Hostanwendung am Werk ist. Oder denk ich da jetzt falsch und jede
DLL verwaltet ihren Speicher selbst?
Wenn die Wrapper-
Dll wie eine
API-
Dll implementiert wird gibt das Problem nicht, weil keine dynamisch allokierten Speicherblöcke von einem anderen Modul freigegeben werden können. Um Daten von einer solchen
DLL zu holen allokiert der Aufrufer einen Block ausreichender Größe, reicht den Pointer darauf und die Größe des Blocks an die
DLL weiter, und die kopiert die Daten in den Block.
Die Wrapper-
DLL und die gewrappte sind beide mit D5 geschrieben und können daher (müssen sogar) ShareMem (die D5 Version) verwenden. Aber die Tokyo-Anwendung kann die Wrapper-
DLL ohne Sharemem verwenden.