Ich habe in einer selbst entwickelten DLL eine Funktion mit einem TStream als Input/Output Parameter implementiert. Die Anwendung verwendet dann je nach Situation einen TMemoryStream oder ein TFileStream als Parameter für diesen Funktionsaufruf.
Solange die Anwendung eine Win32-Applikation ist, läuft das ganze problemlos.
Wenn ich hingegen diese DLL-Funktion aus einem Win32-Service aufrufe, sehe ich jedoch nach der fehlerlosen Ausführung der betroffenen Funktion eine merkwürdige Access-Violation, die sich nicht weiter lokalisieren lässt, die aber eine Folge dieses Funktionsaufrufs sein muss.
Gibt es irgendwelche Restriktionen bei der Stream-Übergabe über
DLL-Grenzen hinweg? Ich verwende beidseitig die selbe Delphi Version 2006 (Auch mit D7 habe ich die selbe Situation).
Besten Dank für Tipps.
Solange die Anwendung eine Win32-Applikation ist, läuft das ganze problemlos.
Wenn ich hingegen diese DLL-Funktion aus einem Win32-Service aufrufe, sehe ich jedoch nach der fehlerlosen Ausführung der betroffenen Funktion eine merkwürdige Access-Violation, die sich nicht weiter lokalisieren lässt, die aber eine Folge dieses Funktionsaufrufs sein muss.
Gibt es irgendwelche Restriktionen bei der Stream-Übergabe über
DLL-Grenzen hinweg? Ich verwende beidseitig die selbe Delphi Version 2006 (Auch mit D7 habe ich die selbe Situation).
Besten Dank für Tipps.
Comment