Ich muss an eine
DLL 1-3 TStreams übergeben und diese an einen Procedure in der
DLL weiterleiten... Was die Procedure damit macht kann ich nicht sagen.
Weiter oben hies es, du möchtest die Prozeduren einer
DCU über eine
DLL kapseln.
Der
DLL kannst du IStream übergeben, die macht daraus mit ihrem eigenen Speichermanager wieder TStream und ruft damit die Procedure der
DCU auf.
Das Beispiel weiter oben zeigt dabei alle Möglichkeiten auf, hier noch mal vereinfacht:
Delphi-Quellcode:
{dll-Funktion kapselt dcu}
function DllFunction(
const Input, Output: IStream);
var
InputStream: TStream;
OutputStream: TStream;
begin
InputStream := TOleStream.Create(Input);
OutputStream := TOleStream.Create(Output);
try
{dcu-Funktion aufrufen}
DcuFunction(InputStream, OutputStream);
// <- erwartet TStream als Parameter
finally
InputStream.Free;
OutputStream.Free;
end;
end;