Обсуждение статьи "Как открыть мир C# из MQL5 путем экспорта неуправляемого кода" - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я работаю на 64-й версии win 8.
Я скомпилировал его с помощью vs2013.
Однако он загружается, но есть неразрешенный вызов функции импорта.
Как я могу решить эту проблему?
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) unresolved import function call
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) Cannot find 'Add' in 'Testme.dll'
2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: cannot call function 'sum' from dll 'NN 1 DLL.dll' (error 127)
Привет,
Я получаю похожие ошибки. Как вы с ними разобрались?...
2014.03.28 22:16:41.199 2014.03.25 23:59 Неразрешенный вызов функции импорта
2014.03.28 22:16:41.199 2014.03.25 23:59 Cannot find 'Set2DArray' in 'Testme.dll'
На сколько я понял, шаблон RGiesecke UnmanagedExportLibrary...
Это сообщение оставлено более полугода назад. Что-нибудь изменилось с тех пор???
Способ первый:
У меня 64 win 7, vs2012 C#. Скачал файл шаблона testme.zip от владельца.
В середине подсказки несколько ошибок (неправильный путь, отсутствующие файлы и т.д. и т.п.), было решено.
Но в итоге все равно появляется и поднимается наверх та же проблема. Я не знаю, решена ли она сейчас? Каким методом решить.
Способ второй:
NuGet установил пакет RGiesecke.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
Последняя версия от 201311 выдает
Error 2 C:\Users\Administrator\AppData\Local\Temp\tmp8B24\dllTest.il(58) : error: syntax error at token '{ ' в: {
dllTest
Можно использовать С++ враппер с помощью IJW, а потом мержить все в одну единственную DLL чисто средствами компилятора - линкера, извращения с шаблоном, описанные в статье не нужны, описал вкратце здесь - http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file
Ну, а описанный метод с шаблоном RGiesecke - это хак и такое рано или поздно перестает работать, у меня, кстати, тоже не заработал ...Но, если кому все же хочется поиграться с IL методом описанным в статье, то есть еще один велосипед, правда, также нерабочий - https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool
Здравствуйте,
Кто-нибудь смог отправить в dll структуру со строковыми переменными внутри?
Я смог отправить int, double, float, но для строковых переменных я получаю эту ошибку:
Access violation read to 0x0000007BВот моя структура на C#:
А вот структура mql4:
Я попытался передать строковую переменную внутри структуры, но MT4 полностью рушится, без ошибок, просто зависает и рушится в windows.
Спасибо.
Да, через некоторое время напишем новую статью про использование DLL. Там очень много интересного добавлено.
А пока можете примеры из обсуждаемой статьи использовать. Там ничего сложного нет.
Ну и .. Сколько ещё ждать? Год, два... или 10?
Уже 3 года прошло. По статье, указанной в самом начале не возможно импортировать методы из dll. Где примеры?
Большое спасибо за эту статью. Я использовал идеи, изложенные в ней, для создания этой открытой библиотеки MQL для C#.
https://github.com/jseparovic/MQL4CSharp
Она все еще находится в стадии разработки и на данный момент не протестирована, но первые тесты показывают, что идея работает.
Это очень простой способ отправки команд из C#, использующий Thread для выполнения кода C# и геттеры/сеттеры для взаимодействия. MQL опрашивает ожидающие команды каждую миллисекунду, а код на C# может блокироваться до тех пор, пока не будет записан результат.
Посмотрите на https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs пример реализации стратегии на c#.
Будьте здоровы,
Джейсон