Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1833

 

Приветствую. Подскажите, пожалуйста, как подключить советник к dll на C#  ?

Создаю приложение и библиотеку

Из приложения работает

Советник

#property strict

#import "C:\Users\Андрей\source\repos\ConsoleAppForMql\ClassLibraryForMql\bin\Debug\ClassLibraryForMql.dll"
void Method();
#import

int OnInit(){

Print("  до вызова Method()");
Method();


return(INIT_SUCCEEDED);}

void OnDeinit(const int reason){

}
void OnTick(){

}

Выдает

Предполагаю, что не может найти Method() тк это внутри класса  ClassForMql, но как это указать не ясно.

 
Andrey Sokolov #:

Приветствую. Подскажите, пожалуйста, как подключить советник к dll на C#  ?

если это МТ4 то "грызите" статью https://www.mql5.com/ru/articles/249

Вас ждет увлекательное путешествие в мир неуправляемого экспорта )))


если МТ5, то начните с малого, подключите сначала тестовый код от Метаквот https://www.mql5.com/ru/forum/285631

 
Igor Makanu #:

если это МТ4 то "грызите" статью https://www.mql5.com/ru/articles/249

Вас ждет увлекательное путешествие в мир неуправляемого экспорта )))


если МТ5, то начните с малого, подключите сначала тестовый код от Метаквот https://www.mql5.com/ru/forum/285631

Раз так, то 5. 4 тоже понадобится, но позже.

 
Igor Makanu #:

Вас ждет увлекательное путешествие в мир неуправляемого экспорта )))

Это действительно было очень увлекательно)))

 

с Console.ReadKey особо порадовало...

консоль надо ещё открыть, потому как её нет в MT, она закрыта

 
Maxim Kuznetsov #:

с Console.ReadKey особо порадовало...

консоль надо ещё открыть, потому как её нет в MT, она закрыта

Это для тестирования из приложения

 
Igor Makanu #:

если МТ5, то начните с малого, подключите сначала тестовый код от Метаквот https://www.mql5.com/ru/forum/285631

Если делать как в справке

то
.

Господа, подскажите, как сделать то? 

Или может у кого есть пример как сделать?

 
Andrey Sokolov #:

Если делать как в справке

то
.

Господа, подскажите, как сделать то? 

Или может у кого есть пример как сделать?

#import "имя_файла" 
    ... 
#import

Описания функций следуют непосредственно за директивой #import "имя модуля".

Новая команда #import завершает блок описания импортируемых функций.

 
Tretyakov Rostyslav #:

#import "имя_файла" 
    ... 
#import

Описания функций следуют непосредственно за директивой #import "имя модуля".

Новая команда #import завершает блок описания импортируемых функций.

Может кто знает почему в справке так?

Спасиб. Одной ошибкой меньше. С остальным подскажите?


 
Andrey Sokolov #:

Может кто знает почему в справке так?

Спасиб. Одной ошибкой меньше. С остальным подскажите?


Андрей, очень странный подход у вас к изучению программирования. Вот я ни разу не пытался работать с .dll файлами, но посмотрев документацию обратил внимание на

#import "имя_файла" 
    func1 define; 
    func2 define; 
    ... 
    funcN define; 
#import

а в вашем коде где объявление функций?

И дальше в примере

#import "ExpertSample.dll" 
int    GetIntValue(int); 
double GetDoubleValue(double); 
string GetStringValue(string); 
double GetArrayItemValue(double &arr[],int,int); 
bool   SetArrayItemValue(double &arr[],int,int,double); 
double GetRatesItemValue(double &rates[][6],int,int,int); 
#import

перечислены функции к которым предполагается обращение из кода…

А в вашем коде где функции???

Причина обращения: