Передача массива DOUBLE из MT4 в DLL

 

Здравствуйте !

Подскажите пожалуйста, как это сделать ...
Цель - написание своей функции сортировки массива, аналогично

int ArraySort( double&array[], int count=WHOLE_ARRAY, int start=0, int sort_dir=MODE_ASCEND)



В Delphi пишу библиотеку:

library SortProcedures;

uses
  ShareMem,
  SysUtils,
  Classes;

{$R *.res}

type
  DoubleArray = array of Double;

procedure ArraySortEx(A: array of DoubleArray; Size: Integer; StartFrom: Integer; SortType: Integer);
var
  F: TextFile;
  i, j: Integer;
begin
  AssignFile(F, 'C:\array.txt');
  Rewrite(F);
  for i:=StartFrom to Size - 1 do
    for j:=0 to 8 do
      WriteLn(F, FloatToStr(A[i][j]));
  CloseFile(F);
end;

exports ArraySortEx;

begin
end.



В коде эксперта я делаю Импорт:

#import  "SortProcedures.dll"
  void ArraySortEx(double A[][], int Size, int StartFrom, int SortType);
#import



и вызываю процедуру так:

   double DataArray[100][10];
...
   ArraySortEx(DataArray,50,0,MODE_DESCEND);




При вызове возникает ошибка . Что я делаю неправильно ?

 

1. Вы только массив не можете передать или любые переменные тоже?

2. Вы учитываете соглашение о связях stdcall?

Причина обращения: