MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1834

 

ごあいさつC#でEAとDLLを接続する方法を教えてください。

アプリケーションとライブラリを作成しています

アプリケーション作品から

電子ブック

#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(){

}

出力

ClassForMqlクラスの中にあるのでMethod()が見つからないのだと思いますが、どう指定すればいいのか不明です。

 
Andrey Sokolov #:

ごあいさつC#でEAとDLLを接続する方法を教えてください。

MT4であれば、記事を「噛む」https://www.mql5.com/ru/articles/249

あなたは、無秩序な輸出の世界への魅力的な旅を待っています )))


MT5なら少し、まずはMetaquothttps://www.mql5.com/ru/forum/285631 からテストコードを接続します。

 
Igor Makanu #:

もしこれがMT4なら、記事を「噛む」https://www.mql5.com/ru/articles/249

アンマネージドエクスポートの世界へ魅惑の旅をどうぞ )))


MT5であれば、まずは小さく、Metakvothttps://www.mql5.com/ru/forum/285631 からテストコードを接続します。

その場合、5.4も必要になるが、後回し。

 
Igor Makanu #:

制御不能な輸出の世界への魅力的な旅があなたを待っています ))))

確かにとてもエキサイティング でした)))

 

Console.ReadKeyを使うと特にいい感じです...。

MTにないため、コンソールを開く必要があります。

 
Maxim Kuznetsov #:

Console.ReadKeyを使うと特にいい感じです...。

コンソールは、MTにないため、まだ開く必要がある、閉じている

これはアプリケーションからのテスト用です

 
Igor Makanu #:

MT5の場合、まずMetacquothttps://www.mql5.com/ru/forum/285631 からテストコードを接続し、小規模から始めます。

ヘルプのようにすると

その後
.

皆さん、どうすればいいか教えてください。

あるいは、どなたかやり方をご存じでしょうか?

 
Andrey Sokolov #:

ヘルプ
のようにすると

その後
.

皆さん、どうすればいいか教えてください。

あるいは、どなたかお手本をお持ちの方はいらっしゃいませんか?

#import"file_name"
...
#import

関数の説明は #import "モジュール名"ディレクティブの後に直接続きます

新しい #importコマンド は、 インポートする関数記述のブロックを完成さ せます。

 
Tretyakov Rostyslav #:

#import"file_name"
...
#import

関数の説明は #import "モジュール名 "指示文のすぐ後に続きます

新しい #importコマンドは インポートする関数記述のブロックを完成さ せます。

ヘルプでなぜそうなっているのか、ご存知の方はいらっしゃいますか?

ありがとうございます。エラーが1つ減った。あとは何かアドバイスがあれば教えてください。


 
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

コードから呼び出されるはずの関数が列挙されている...

コードのどこに関数があるのですか?