у нас нет адресной арифметики. но Вы можете передать по ссылке массив. все изменения, сделанные в массиве, Вы получите.
Слава, если не затруднит, черканите как правильно объявлять прототип? И очень прошу вас пример вызова воткнуть в Help - в External function definition есть только обмен параметрами по значению, по ссылке нету
В дистрибутиве experts\samples\include\sampledll.mqh есть такие конструкции
В дистрибутиве 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 есть такие конструкции
В дистрибутиве 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 не работают
bool SampleFunct(double& arr[])
отдельные параметры по ссылке из dll не работают
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Посмотрел поиском по форуму и в Help-файле - не нашел описания как передавать/получать значения из DLL по указателю.
Объявление функции из DLL как
не работает - компилятор ругается
Пожалуйста подскажите, как можно передавать значения в функцию по указателю? Когда передаешь несколько перменных - разницы нет как работать ByVal или ByRef, а вот когда тягаешь массивы, тут уже преимущество ByRef налицо - копировать области памяти не нужно