Скачать MetaTrader 5

Связка MQL4(советник)-C#(dll)-C#(dll)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vyacheslav Baldykov
232
Vyacheslav Baldykov  

Всем доброе время суток!

Пытаюсь сделать связку:

Советник дергает функцию из длл, в этой функции дергается другая функция из другой длл.

Проблема: при запуске советник сразу вылетает("Unhandled exception 0xE0434352").

Обе функции по отдельности работают нормально,  связка тоже работает-проверено на си шарпе! Проблема очевидно с особенностями MQL4 или MT4. Кто сталкивался с подобными вещами? Кто что думает?

o_o
Модератор
24823
o_o  
сделайте по порядку и увидите где проблема.
Vyacheslav Baldykov
232
Vyacheslav Baldykov  

sergeev:
сделайте по порядку и увидите где проблема.

В том то и дело, что ни в типах, ни в чем загвоздки нет! По отдельности с MQL4 все работает, в совокупности и с шарпом тоже работает! Вы считаете в МТ4 нет таких проблем?

o_o
Модератор
24823
o_o  

Vyacheslav090:

Вы считаете в МТ4 нет таких проблем?

считаю, что если сделаете все правильно, то существующая ваша проблема решится.
Mikhail Filimonov
5931
Mikhail Filimonov  
Vyacheslav090:

Всем доброе время суток!

Пытаюсь сделать связку:

Советник дергает функцию из длл, в этой функции дергается другая функция из другой длл.

Проблема: при запуске советник сразу вылетает("Unhandled exception 0xE0434352").

Обе функции по отдельности работают нормально,  связка тоже работает-проверено на си шарпе! Проблема очевидно с особенностями MQL4 или MT4. Кто сталкивался с подобными вещами? Кто что думает?

А когда из 1-ой DLL вы "дергаете" вторую, вторая-то загружена?
Eugeniy Lugovoy
1987
Eugeniy Lugovoy  

Это исключение CLR.

По поводу его обработки посмотрите http://ig2600.blogspot.com/2009/07/finding-clr-exceptions-with-visual.html 

Nikolay Demko
12900
Nikolay Demko  
Vyacheslav090:

Всем доброе время суток!

Пытаюсь сделать связку:

Советник дергает функцию из длл, в этой функции дергается другая функция из другой длл.

Проблема: при запуске советник сразу вылетает("Unhandled exception 0xE0434352").

Обе функции по отдельности работают нормально,  связка тоже работает-проверено на си шарпе! Проблема очевидно с особенностями MQL4 или MT4. Кто сталкивался с подобными вещами? Кто что думает?

Не знаю как сейчас, раньше C#-длл , без специальной обвязки C++ не работали, погуглите форум, где то об этом было.

ЗЫ вот тут почитайте может чё полезного обнаружите 

Vyacheslav Baldykov
232
Vyacheslav Baldykov  
Urain:

Не знаю как сейчас, раньше C#-длл , без специальной обвязки C++ не работали, погуглите форум, где то об этом было.

ЗЫ вот тут почитайте может чё полезного обнаружите 

http://jonxxx.me/13-metatrader/15-eksport-funktsij-iz-net-dll-c-dllexport-net-framework-v-metatrader

Вот эта статья мне помогла делать ДЛЛ на шарпе! А так да, на плюсах делал всегда, но именно последовательно не пробовал ниразу! 

Экспорт функций из Net dll | C# DLLExport | .NET Framework в Metatrader
Экспорт функций из Net dll | C# DLLExport | .NET Framework в Metatrader
  • jonxxx.me
Изначально статья была размещена на форуме, решил скопировать сюда, на всякий. Решил написать небольшой мануал по созданию dll для Metatrader на платформе .NET Framework. Также он пригодится тем программистам, кому нужно сделать вызов из неуправляемого кода в управляемый в любых других программах. Вам мануал может сэкономить кучу времени на...
Vyacheslav Baldykov
232
Vyacheslav Baldykov  

Mikalas:
А когда из 1-ой DLL вы "дергаете" вторую, вторая-то загружена?

Вы имеете в виду использует ли еще какая софтина эту длл? Нет! Кстати для меня задача эта будет новой, несколько софтин используют одну и ту же длл, первая мысль это не возможно, но может и решил кто то это! 

Eugeniy Lugovoy
1987
Eugeniy Lugovoy  

Vyacheslav090:

Вы имеете в виду использует ли еще какая софтина эту длл? Нет! Кстати для меня задача эта будет новой, несколько софтин используют одну и ту же длл, первая мысль это не возможно, но может и решил кто то это!  


А почему это не возможно? Кидайте DLL в Windows\System32 и все приложения ее будут видеть.

И обмен через Shared Memory между приложениями можно организовать. 

Однако, я склоняюсь к разработке DLL на С/С++. Шарп для этого не использую. 

Vyacheslav Baldykov
232
Vyacheslav Baldykov  
elugovoy:

А почему это не возможно? Кидайте DLL в Windows\System32 и все приложения ее будут видеть.

И обмен через Shared Memory между приложениями можно организовать. 

Однако, я склоняюсь к разработке DLL на С/С++. Шарп для этого не использую. 

Видеть да, а одновременно использовать! Не помню почему встала необходимость шарп использовать, но уже по факту!

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий