Zitat:
Was irgendwie nicht ins Bild passt ist der "ndim" Parameter, der erweckt in mir den Verdacht, dass man der Funktion eigentlich einen mehrdimensionalen array übergeben kann. Dann sollte lenvals aber als long * lenvals definiert sein, damit man damit die Zahls der Elemente pro Dimension übergeben kann. Das Beispiel übergibt die Zahl der Elemente in "ndim" und zeigt nicht, was lenvals da sein soll.
Nee schau in die Documentation weiter oben verlinkt.....
[ndim][lenvals] ist schon richtig, das Teil ist ein mix aus c un Fortran, Fortran arbeitet nur mit fixen längen und kennt kein Char*
Deshalb als ein Buffer mit festen Eintragslängen, lenvals ist die Stringlänge pro Reihe
nur so hingeschrieben zum Zugriff aus Delphi
Delphi-Quellcode:
type
const
colwidth = 40-1;
rows = 50-1;
TRow = array[0..colwidth] of ansichar;
PBschocArray= ^TBschocArray;
TBschocArray = Array[0..rows] of Trow;
myArray : TBschocArray;
myOrders : Array[0..rows] of integer;
// Füllen dann
res := bschoc ('EINSTEIN'
rows,
colwidth,
@myArray,
@myOrders);