Arrays in C sind automatisch immer Zeiger. Also statt
dobule bla[]
könnte man in C auch einfach
double* bla
schreiben. Durch die spezielle Zeigerarithmetik in C darf der Array Operator auf jeden Zeiger angewendet werden und greift dabei auf den Speicher bei
Index * sizeof(ElementType)
zu. Ähnlich funktioniert ja auch Delphis
Inc
, wenn du es auf eine "typisierte Zeigervariable" z.b. PDobule anwendest. Der Zeiger würde dann automatisch um
SizeOf(Double)
erhöht werden.
Wenn du deinen eigenen Matrix Typ erstmal weglässt, funktioniert es dann folgendermaßen:
Delphi-Quellcode:
type
PDoubleArray = ^TDoubleArray;
TDoubleArray =
array[0..0]
of Double;
function Jaco(X: PDoubleArray;
var DF: PDoubleArray): Integer;
cdecl;
Jep so sollte es passen, Habe ich auch nicht mehr daran gedacht...