DLL - Array ByRef ?

 
Добрый день.
Посмотрел поиском по форуму и в Help-файле - не нашел описания как передавать/получать значения из DLL по указателю.

Объявление функции из DLL как
#import "Sample.dll"
 *double SampleFunct(*double, *double);

не работает - компилятор ругается

Пожалуйста подскажите, как можно передавать значения в функцию по указателю? Когда передаешь несколько перменных - разницы нет как работать ByVal или ByRef, а вот когда тягаешь массивы, тут уже преимущество ByRef налицо - копировать области памяти не нужно

 
у нас нет адресной арифметики. но Вы можете передать по ссылке массив. все изменения, сделанные в массиве, Вы получите.
 
Слава, если не затруднит, черканите как правильно объявлять прототип? И очень прошу вас пример вызова воткнуть в Help - в External function definition есть только обмен параметрами по значению, по ссылке нету

В дистрибутиве experts\samples\include\sampledll.mqh есть такие конструкции
bool   SetArrayItemValue(double& arr[],int,int,double);

, однако в моем случае конструкция в MQL-коде

#import "Sample.dll"
 double& SampleFunct(double&, double&);

также не компилируется с ошибкой э?э - variable expected

 
Слава, если не затруднит, черканите как правильно объявлять прототип? И очень прошу вас пример вызова воткнуть в Help - в External function definition есть только обмен параметрами по значению, по ссылке нету

В дистрибутиве experts\samples\include\sampledll.mqh есть такие конструкции
bool   SetArrayItemValue(double& arr[],int,int,double);

, однако в моем случае конструкция в MQL-коде

#import "Sample.dll"
 double& SampleFunct(double&, double&);

также не компилируется с ошибкой '&' - variable expected

 
ошибка в типе возвращаемой функции. должно быть
#import "Sample.dll"
 double SampleFunct(double&, double&);


однако в dll (и в mql-библиотеку тоже) бесполезно передавать параметры по ссылке. как я уже сказал, передавайте массив по ссылке

 
#import "Sample.dll"
 double SampleFunct(double&, double&);

Слава - увы, но такой код не компилируется ;( может что-то не так с синтаксисом?

 
Используй
bool SampleFunct(double& arr[])
отдельные параметры по ссылке из dll не работают
Причина обращения: