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?