2016-07-13 3 views
1

私はメタトレーダー4プラットフォームMQL4コードに#importにこの.DLLファイルをしようとすると、私はエラーを取得するC#解決方法 'mcMath.dll' [126]を読み込めませんか?

namespace mcMath 
{ 
    public class Class1 
    { 
     public static double addUp(double num1, double num2) 
     { 
      return (num1 + num2); 
     } 

    } 
} 

に、この単純な.DLLをwritttenています

Cannot load 'mcMath.dll' [126] .

10:55:17.373 Expert fadi EURUSD,H4: loaded successfully 
0 10:55:17.689 Expert fadi EURUSD#,H1: loaded successfully 
3 10:55:19.224 Cannot load 'mcMath.dll' [126] 
0 10:55:19.225 fadi EURUSD,H4: initialized 
3 10:55:24.027 Cannot load 'mcMath.dll' [126] 
0 10:55:24.028 fadi EURUSD#,H1: initialized 
1 10:55:27.463 Cannot call 'mcMath.dll::addUp', 'mcMath.dll' is not loded  
1 10:55:27.494 fadi EURUSD#,H1: unresolved import function call 
0 10:55:27.522 fadi EURUSD#,H1: uninit reason 4 
0 10:55:27.538 Expert fadi EURUSD#,H1: removed 

プラットフォームオプションでDLLのインポートを許可しました。

Q1:誰にも同じ問題がありますか?
Q2:解決方法

MQL4コード:

#import "mcMath.dll" 
    double addUp(double number1,double number2); 
    #import 
    double number1, number2; 
    int OnInit() 
    { 
    //--- 
     number1=10.5; 
     number2=20.3; 
     double number3= addUp(number1,number2); 
     Print("the result is: " + number3); 
    //--- 
    return(INIT_SUCCEEDED); 
    } 
+0

あなたは、p-呼び出し** MCMATHです:[3]、いつも些細な、パラメータなしの統合テスト機能を使用してMQL4コードに適切な戻り値int test_DLL_LOADED(){ return(1); }を検証隔離さのために

.dll **?もしそうなら、あなたの輸入陳述書 – MickyD

答えて

0

A1:いいえ、この質問への有効な任意の一般的な答えはありません。

A2:のは、満たされなければならない項目のチェックリストを作成してみましょうので、DLLから#importまでのように:

  1. メタトレーダー4ターミナルDLLから(インポート)を使用することを許可... PASS
  2. 前記DLLファイルの場所... TBD
  3. DLLのコール・シグネチャマッチング機能(複数可)をエクスポート... TBD

[2]のために、あなたが選択したDLLを含むファイルを<TerminalDir>/MQL4/Librariesフォルダに置いたことを常に確認してください。

#import "<aDllFileNAME>"      // MQL4 pre-processor directive 
         int test_DLL_LOADED(); // DLL parameter-less signature 
         ...     //  other signatures of import'd f() 
#import          // MQL4 pre-processor directive 


int OnInit(){ 
    if (!test_DLL_LOADED()){ 
     // FAILED:        // CLOSE ALL FILE-IOs 
               // SEND SIGs/MESSAGEs TO PEERs 
               // UPDATE GLOBAL VARIABLEs 
               // LOG EVENT 
               // GET READY FOR A GRACEFUL EXIT 
      ... 
     // EXIT: 
      ExpertRemove(); 
    } 
// PASSED: PROCEED WITH A NEXT INTENDED SETUP STEP 
    ... 

} 
関連する問題