Как побороть ошибку Cannot find 'Add' in 'Test1.dll' ? - страница 2

 
Nikolay Demko:

Тогда попробуй старые проекты, скомпилить ещё раз, и проверить работают ли. Если да то по старому примеру.

Или там что то не устраивает?

компилится, норм

не устраивает ошибка, т.к. в результате эксперт не загружается

 
Nikolay Demko:

Для чего это надо? при условии что проект на C#. Может я чего не понимаю, просвети пожалуйста.

Шарпом ДЛЛ без сторонней либы не сделать. Подкачивается прямо из VS.
Либо пишем на смеси управляемого- неуправляемого кода на с++.
Пишу с мобилы, ссылки никак не могу. Гугл в помощь.
 
Renat Akhtyamov:

компилится, норм

не устраивает ошибка, т.к. в результате эксперт не загружается

Погоди, разговора про експерт небыло.

У тебя есть старые Длл которые компилятся, из них идёт экспорт, ты в принципе можешь проверить работают ли старые проекты, работают это не только компилятся ли но и идёт ли экпорт в MQL.

Если экспорт идёт то нужно искать что не так в новом проекте по примеру старого. Если экспорт не идёт и в старых проектах которые раньше работали, значит бага в МТ.

Дело в том что мне так и не удалось экспортировать из C# Длл ни одной функции. Поэтому я и удивился что у тебя есть старые проекты из которых экспорт идёт.

 
У меня ваш C# код на VS2015 работает. В проекте указываете Platform Target: x86 для MT4 или x64 для MT5. Значение по умолчанию (Any CPU) не подходит!
 
Andrey Voytenko:

У меня ваш код на VS2015 работает. В проекте указываете Platform Target: x86 для MT4 или x64 для MT5. Значение по умолчанию (Any CPU) не подходит!

Да, выставлял такое.

в 2017-ом не прокатило.

спасибо что попробовали

ставлю 15-шку

 
Yuriy Asaulenko:
Шарпом ДЛЛ без сторонней либы не сделать. Подкачивается прямо из VS.
Либо пишем на смеси управляемого- неуправляемого кода на с++.
Пишу с мобилы, ссылки никак не могу. Гугл в помощь.

Гугл в помощь по какому запросу?

Вики CLI и статья investeo уже открыта, что то ещё?

ЗЫ Тема животрепещущая, когда будет удобно расширь что ты хотел сказать более развёрнуто. Думаю будет не лишним.

 
Andrey Voytenko:
У меня ваш C# код на VS2015 работает. В проекте указываете Platform Target: x86 для MT4 или x64 для MT5. Значение по умолчанию (Any CPU) не подходит!

VS2015 Enterprise или Profi ?

 
Nikolay Demko:

VS2015 Enterprise или Profi ?

Professional 2015 / Net Framework 4.6

 
Andrey Voytenko:

Professional 2015 / Net Framework 4.6

У меня на этом коде скомпиленом в VS 2015 Enterprise, с NET 4.5

при вызове из MQL длл выдала

2018.09.09 01:24:30.891 Test1 dll (EURUSD,M1)   Unhandled exception 0xE0434352
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA030 4881ECC8000000    sub        rsp, 0xc8
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA037 83E201            and        edx, 0x1
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA03A 488D05EFFFFFFF    lea        rax, [rip-0x11]
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA041 894C2420          mov        [rsp+0x20], ecx
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA045 33C9              xor        ecx, ecx
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA047 4889442430        mov        [rsp+0x30], rax
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA04C 89542424          mov        [rsp+0x24], edx
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA050 48894C2428        mov        [rsp+0x28], rcx
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA055 4D85C9            test       r9, r9
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA058 0F856A030000      jnz        dword 0x7fefd4fa3c8
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)   
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA05E 894C2438          mov        [rsp+0x38], ecx
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA062 488D4C2420        lea        rcx, [rsp+0x20]
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA067 FF1533020300      call       qword near [rip+0x30233]  ; NlsUpdateLocale (kernelbase.dll)
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)      crash -->  000007FEFD4FA06D 4881C4C8000000    add        rsp, 0xc8
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA074 C3                ret        
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)   
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)                 000007FEFD4FA075 90                nop        
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)   
2018.09.09 01:24:31.045 Test1 dll (EURUSD,M1)   00: 0x000007FEFD4FA06D
2018.09.09 01:24:31.046 Test1 dll (EURUSD,M1)   01: 0x0000000000000001
2018.09.09 01:24:31.046 Test1 dll (EURUSD,M1)   02: 0x000000000DEDEC58
2018.09.09 01:24:31.046 Test1 dll (EURUSD,M1)   03: 0x0000000000000005
 
Собрал с .NET 4.6.1 тоже самое, Длл упала.
Причина обращения: