Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 20.12.11
Racki Racki ist offline
Mitglied
 
Registriert seit: Apr 2011
Ort: Osnabrück
Beiträge: 103
Racki befindet sich auf einem aufstrebenden Ast
Standard

Danke dir für deine Antwort,
ich habe folgendes gemacht:

Neue DLL geschrieben in C#

Code:
namespace CSharpDLL
{
    public static class test
    {
        public static int DLLTest() {
            return 123;
        }
    }
}
Die Datei CSharpDLL.dll habe ich in das Verzeichnis experts/libraries kopiert.
Dann die Datei CSharpDLL.def erstellt mit folgenden Inhalt:
Code:
LIBRARY CSharpDLL

EXPORTS DLLTest
Habe ich so aus dem DLLSample übernommen und geändert.

In experts/include habe ich die Datei CSharpDLL.mqh erstellt mit folgenden Inhalt:
Code:
#import "CSharpDLL.dll"

int DLLTest();
Jetzt fehlt noch ein EA um das ganze zu testen.
Neuen EA mit dem Namen DLLTester erstellt, der Kopf der Datei sieht so aus:

Code:
#property copyright ""
#property link ""
#include <CSharpDLL.mqh>

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int dlltestint = 0;
int init()
  {
//----
 dlltestint = DLLTest();
 Print("DLLTest-Rückgabe = " + dlltestint);

//----
   return(0);
  }
Kompilieren geht ohne Fehler, wie gehabt.
Führe ich das ganze im Terminal aus, dann kommt wieder der 127er Fehler.
Es kommt quasi diese Meldung: cannot call function 'DLLTest' from dll 'CSharpDLL.dll' (error 127).

Was macht der Racki nur falsch?