Zitat:
Der Zeiger aus den eigentliche Buffer, in dem Beispiel @Frequ[0] kann bedenkenlos übergeben werden
Dann kann ich aber auch einfach Freq übergeben, weil Pointer(Freq) und @Freq[0] sind identisch, habs gerade ausprobiert.
D.h.:
Delphi-Quellcode:
var Freq: array of double;
function funct(f: pointer):TIrgendwas;
...
funct(Freq);
... ist identisch mit
funct(pointer(Freq));
... ist identisch mit
funct(@Freq[0]);
Und Delphi übergibt offensichtlich bei einem dynamischen Array im Funktionsargument den Zeiger auf die Daten.
Sonst würde mein Beispiel nicht funktionieren.
Eine C++ Funktion kann so einfach mit einem Typecast auf ein Array darauf zugreifen.