Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Процесы тут не причем. DLL работате в контексте процесса терминала.
Если размер возвращаемомго массива не известен за ранее. То придется делать функцию которая узнает этот размер заранее, и потом уже в MQL выделять память нужного размера. И уже только потом передавать в DLL этот массив, после установки его размера к нужному.
Но лучше знать заранее. :)
Я не строю. Вы обьясните, что Вы не понимаете. Я ведь могу только догадываться.
Тем более что я ответил в начале предельно понятно.
Уже понял сам.
В описанном Вами случае память выделять нельзя. Но есть еще один.
Дллка занимается менеджментом памяти, MQL получает голый указатель и работает без вызова сторонних функций.
Т.е. типа:
Есть проблемы -- при неосторожном обращении, а также если обратиться к освобожденным ресурсам -- терминал свалится. Зато возможна вполне быстрая по сравнению реализация массивов.
Не уверен на 100%, что это сделать можно, но на 95% уверен
Я незнаю.
Вы так пробовали?
Я не понимаю что это за функции.
Если Вам необходимо таскать с собой. Некий массив от одной функции DLL к другой. То просто заверните его в структуру с длинной и верните ее адрес как int. До тех пор пока не выпустят 64-битный терминал это будет работать.
Я не понимаю что это за функции.
:) Ааа... Думаю не получится сделать вообще.
:) Ааа... Думаю не получится сделать вообще.
Хз, посмотрим. Зависит от того, как устроен внутри MQL массив.
:) Ааа... Думаю не получится сделать вообще.
Но с другой стороны всякими хаками можно и сделать. Кто мешет. Но вот будет ли это потом работать если МТ захотят поменять что-то? А они точно захотят.
Да я думаю и быстрее то нифига не будет. Надо быстро надо просто сделать спец функцию в DLL и туда массив передавать.
Надо быстро надо просто сделать спец функцию в DLL и туда массив передавать.
Нее, вызов функции в MQL не быстрый. Вобщем если получится, обрисую всю картинку.
Хз, посмотрим. Зависит от того, как устроен внутри MQL массив.
А какая разница как они там внутри устроенны. Если там идет по сути маршалинг. Испортить ( переделат ) массив вряд ли получится. Да и нахрена? Я же уже говорил что надо быстро надо в DLL