Ошибка где-то в самой библиотеке либо в неправильной передаче параметров в dll
Ой, ну хорошо хоть не утечка памяти:)
Как бы так правильно объяснить... Но я ничего ни куда не пытаюсь записывать и не передаю параметры неправильно. Вызваю функцию из dll в мт5, точно так же, как сделано это в мт4 (из той же самой dll), однако в мт4 работает, а в мт5 нет.
- www.mql5.com
4. Перехват исключений в DLL функциях
Чтобы избежать падения самого терминала, каждый вызов функций DLL автоматически защищается оберткой Unhandled Exception. Этот механизм позволяет уберечься от большинства стандартных ошибок (обращения в недоступную память, деления на ноль и т.д.)
Для проверки работоспособности этого механизма создадим следующий код:
_DLLAPI void __stdcall fnCrashTest(int *arr) { //--- ожидаем получение нулевой ссылки, чтобы вызвать исключение *arr=0; }
и вызовем его из терминала:
#import "MQL5DLLSamples.dll" void fnCrashTest(int arr); #import //--- вызовем креш (среда исполнения перехватит исключение и не даст упасть терминалу) fnCrashTest(NULL); Print("Этого текста не увидите!"); //---
В результате произойдет попытка записи в нулевой адрес с генерацией исключения. Терминал его перехватит, сообщит в журнале и продолжит работу:
MQL5DLL Test (GBPUSD,M1) 20:31:12 Access violation write to 0x00000000
Если бы писал сам, уж придумал бы что-нибудь... Это готовая dll, откомпилированная, не моя, исходников у меня нет.
Напомню суть вопроса. Есть dll, при использовании ее в МТ4 все работает нормально, в МТ5 не получается ее использовать.
Integer:
Есть dll, при использовании ее в МТ4 все работает нормально, в МТ5 не получается ее использовать.
- разные битности пробовал?
- на другом компе пробовал?
- покажи как ты импортируешь и вызываешь (интересует списки параметров)
MQL4 - тип bool: Внутреннее представление – целое число размером 4 байт. (int)
MQL5 - тип bool: Внутреннее представление – целое число размером 1 байт.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования