Standardmässig benutzen Programm und
Dll verschiedene Speichermanager.
Das bedeutet das in einer
DLL Schnittstelle nur einfache typen wie integer, double, Pchar, etc verwendet werden sollten.
Du kannst die
Unit Sharemem mit einbinden. Funktioniert aber nur wenn die
DLL und das Programm mit Delphi kompiliert werden.
Das nächste Problem:
die Deklaration von
var Ergebnis : Array of SingleDataSet
Das ist ein OpenArray.
http://docwiki.embarcadero.com/RADSt...eters_(Delphi)
Am besten Du deklarierst einen Typ für das Array:
type tSingleDatasetArray = Array of SingleDataSet;
Ich wäre aber sehr vorsichtig mit solchen Parametern über eine
Dll.
Am besten stelle auf packages um. (dafür sind diese gedacht).
Da die
Dll ja sowieso Delphi Only ist mit solchen Parameter würde ich diesen Weg gehen.