Обсуждение статьи "Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?" - страница 8
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Обьявление функции DLL
Вызов функции DLLВ последнем примере в длл тоже правки внесли я так понял?
Я про это
Подскажите также если не затруднит. Есть длл, в неё передается текстовое значение, на выходе получаем число в типе string
Например вот так:
Не могу из-за нехватки знаний подправить длл. Подскажите как правильно оформить код для передачи его в длл, и как грамотно его получить. А то сейчас в МТ5 моя длл не работает.
Заранее спасибо за помощь.
Подскажите также если не затруднит. Есть длл, в неё передается текстовое значение, на выходе получаем число в типе string
Не могу из-за нехватки знаний подправить длл. Подскажите как правильно оформить код для передачи его в длл, и как грамотно его получить. А то сейчас в МТ5 моя длл не работает.Заранее спасибо за помощь.
Перепроверил работу с возвратом строки из DLL и обнаружил ошибку в x64 (появившуюся после введения нескольких оптимизаций). Исправление войдёт в ближайший билд.
Если Вы работаете в x64, то пожалуйста подождите выпуска билда.
Единственное что могу добавить, следует помнить, что MQL5 работает с юникодными строками.
Опубликована статья Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?:
Автор: Renat Fatkhullin
Спасибо за статью. Воспользовался получилось.
Про путь подсказка отличная. Но !! 10 минут ушло на то, чтобы разобраться как правильно в VS2010 установить путь к DLL.
У меня это оказалось так:
C:\Users\пп\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries
Советую путь скопировать из MetaEditor.
Или указать в enviroment свой (не проверял).
И еще, как там у нас с многопоточностью?
Спасибо за статью. Полностью её повторил, но хочу несколько слов о то, с чем столкнулся я при реализации - эти вроде бы небольшие вещи чуть не оттолкнули от этого. Что же хотелось уточнить (использую VS2010 + MT5 (32 бит) build 756 + Win 7 Максимальная x64):
В остальном очень даже очень не плохая статья ... Респект!
На 64-х битном МТ5 пример не работает. Терминал отписывается, что это 32-х битная DLL и не подключает ее. Но под Win32 (как в данном примере и во всех других примерах - типа на Дельфи) - все же DLL 32-х битные. Приходится как в предыдущем посте деинсталировать 64-х битную версию терминала и ставить 32-х битную. Еще надо знать как это сделать, так как 64-х битная версия ставится насильно. Получается что МТ5 64 бита вообще мертвый терминал, не понятно зачем выпущенный. Уважаемые разработчики, если это возможно, сделайте пожалуйста возможность подключения к МТ5 64 бита, 32-х битных DLL.
А если это технически невозможно или сложно, тогда так и пишите про подводные камни, что эта версия не будет работать с 32-х битными DLL, а то пользователи мучаются и не могут понять в чем дело. И напишите открыто, что папка Libraries находится не в директориях самого терминала, а фиг знает где, и без опыта не найдете, даже не пытайтесь. И кстати в этом тайном месте находятся и все индикаторы и эксперты, так что установив МТ5 вы можете про них забыть, - если Вы не знаете что все это находится в скрытой папке C:\Users\пп\AppData\Roaming... . А то пользователь думает что устанавливает нормально написанную программу, а это обман.
Вам бы технический уровень подтянуть.
Для 64 битных программ нужны 64 битные библиотеки и никак в разумных рамках не подключить 32 битные. Чтобы установить 32 битную версию, инсталлер надо запустить с ключом /32
Статью я перепишу и дополню крутыми штуками, что давно уже внедрены в Метаедитор и платформы МТ4 и МТ5. Многие разработчики не в курсе новых возможностей.