Амперсанд уберите здесь:
_DLLAPI int __stdcall summ(int res1, int res2)
или добавьте его здесь:
int summ(int &num1, int &num2);Матчасть здесь:
Как за 10 минут написать DLL библиотеку для MQL5 и обмениваться данными?
- 2010.01.27
- Renat Fatkhullin
- www.mql5.com
Так уж сложилось, что сейчас мало кто из разработчиков помнит, как написать простую DLL библиотеку и в чем особенности связывания разнородных систем. Я постараюсь за 10 минут на примерах продемонстрировать весь процесс создания простых DLL библиотек и раскрою некоторые технические детали нашей реализации связывания. Покажу пошаговый процесс создания DLL библиотеки в Visual Studio с примерами передачи разных типов переменных (числа, массивы, строки и т.д.) и защиту клиентского терминала от падений в пользовательских DLL.
Спасибо. Бились сутки, сегодня окинули свежим взглядом и поправили!
Ошибка в том, что если вызов по значению и надо передавать значение, и наоборот :)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Мне нужна помощь с написанием и подключением своей dll –библиотеки к терминалу.
Начали с самого простого, с некоторых абстрактных примеров и сразу столкнулись с проблемой при запуске индикатора с подключенной библиотекой, ошибкой access violation.
Версия терминала x64, билд 910, система win7 x64.
Вот код самой библиотеки, написанной на C++
Вот каким образом я пытаюсь обратиться к внешней функции.
Получаю ошибку -
Access violation at 0x000007FEF9141010 read to 0x0000000000000001 in 'D:\MT5\MQL5\Libraries\mql_dll.dll'
Опыта интеграции у меня мало, подскажите, пожалуйста, в чем здесь ошибка и как ее исправить чтобы библиотека заработала? Спасибо!