Vielen Dank für Deine Erläuterungen:
* Für Widestring müsste man wieder die ShareMem-Interface-
Unit einbinden und zusätzlich die BORLNDMM.DLL weitergeben.
Warum sollte ich das machen, wenn ich bei der gezeigten Implementation gar keine Unicodenamen brauche? Wenn ich es doch brauchen sollte, verwende ich PChar, so kann ich
Unicode verwenden, brauche aber die erwähnte
Unit und
DLL nicht.
* Ich hatte zuvor für mich schon einmal die Rückgabe mit dem TMemoryStream implementiert. Die Rückgabe funktionierte genau so, wie die hier von Dir vorgeschlagene Lösung mit dem IStream. Beides mal kommen für sich gesehen auch gültige Streams an. Das habe ich insofern getestet, als dass ich den Stream als Bitmap-Datei gespeichert habe und mit einer FireMonkey-Applikation konnte man diese Bitmap-Datei dann einlesen.
Aber auch bei Deiner Lösung wird das einlesen des Streams in die
VCL-Bitmap mit der Fehlermeldung quitiert, dass die Bitmap ungültig sei.
Grund ist der, dass ja ein Stream für eine FireMonkey-Bitmap zurückgeliefert wird und den kann ich nun mal nicht in eine
VCL-Bitmap einlesen, weil die eben nicht kompatibel sind.
Insofern funktioniert der von Dir vorgeschlagene Weg mit dem IStream als "schönere" Lösung hier leider auch nicht.