Diskussion zum Artikel "Offenlegen von C#-Code in MQL5 mithilfe nicht gemanagter Exporte" - Seite 5
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich bin auf einem 64 Win 8.
Ich kompilierte es mit vs2013.
Es wird jedoch geladen, aber es gibt einen nicht aufgelösten Importfunktionsaufruf.
Wie kann ich dies lösen?
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) ungelöster Importfunktionsaufruf
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) Cannot find 'Add' in 'Testme.dll'
2011.10.29 20:13:37 2000.01.03 00:00 Expert_NN_1_1 USDJPY,H1: cannot call function 'sum' from dll 'NN 1 DLL.dll' (error 127)
Hallo,
Ich erhalte ähnliche Fehler. Wie hast du das gelöst?...
2014.03.28 22:16:41.199 2014.03.25 23:59 Unaufgelöster Importfunktionsaufruf
2014.03.28 22:16:41.199 2014.03.25 23:59 Kann 'Set2DArray' in 'Testme.dll' nicht finden
Soweit ich die RGiesecke UnmanagedExportLibrary-Vorlage verstehe...
Diese Nachricht wurde vor über einem halben Jahr hinterlassen. Hat sich seither etwas geändert????
Methode eins:
Ich habe 64 Win 7, vs2012 C#. Heruntergeladen der Eigentümer testme.zip Vorlage Datei.
In der Mitte der Eingabeaufforderung ein paar Fehler (falscher Pfad, fehlende Dateien, etc. und so weiter und so fort), wurde gelöst.
Aber am Ende, immer noch erscheinen und und oben das gleiche Problem. Ich weiß nicht, ob es jetzt gelöst ist? Welche Methode zu lösen.
Methode zwei:
NuGet installiert RGiesecke Paket.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
Die neueste Version von 201311 meldet
Fehler 2 C:\Users\Administrator\AppData\Local\Temp\tmp8B24\dllTest.il(58) : error : syntax error at token '{ ' in: {
dllTest
Man kann C++ Stripper mit Hilfe von IJW verwenden, und dann alles in eine einzige DLL rein mittels Compiler - Linker zusammenführen, Perversionen mit der im Artikel beschriebenen Schablone sind nicht nötig, hier kurz beschrieben - http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file.
Tja, und die beschriebene Methode mit dem Template RGiesecke - das ist ein Hack und so etwas funktioniert früher oder später nicht mehr, hat bei mir übrigens auch nicht funktioniert ...Aber wenn jemand noch mit der im Artikel beschriebenen IL-Methode spielen will, gibt es noch ein Fahrrad, aber das funktioniert auch nicht - https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool.
Hallo,
War jemand in der Lage, eine Struktur mit String-Variablen im Inneren, an die DLL zu senden?
Ich war in der Lage, int, double, float zu senden, aber für String-Variablen bekomme ich diesen Fehler:
Access violation read to 0x0000007BHier ist meine C#-Struktur:
Und hier ist die mql4-Struktur:
Ich habe versucht, die String-Variable innerhalb der Struktur zu marshal, aber MT4 stürzt totalaly, kein Fehler nur hängt und zerquetscht in Windows.
Ich danke Ihnen.
Ja, in einiger Zeit werden wir einen neuen Artikel über die Verwendung von DLLs schreiben. Dort sind viele interessante Dinge hinzugefügt worden.
In der Zwischenzeit können Sie die Beispiele aus dem besprochenen Artikel verwenden. Dort gibt es nichts Kompliziertes.
Und ... Wie lange noch warten? Ein Jahr, zwei ... oder 10?
Es sind schon 3 Jahre vergangen. Laut dem eingangs erwähnten Artikel ist es nicht möglich, Methoden aus einer DLL zu importieren. Wo sind die Beispiele?
Vielen Dank für diesen Artikel. Ich habe die Ideen hier verwendet, um diese Open-Source-MQL-Bibliothek für C# zu bauen.
https://github.com/jseparovic/MQL4CSharp
Sie befindet sich noch in der Entwicklung und ist derzeit ungetestet, aber erste Tests zeigen, dass die Idee funktioniert.
Es ist sehr einfach in der Art und Weise, wie es Befehle von C# sendet, mit einem Thread für den C#-Code zu laufen, und Getter / Setter für die Kommunikation. MQL fragt jede Millisekunde nach wartenden Befehlen ab, während der C#-Code blockieren kann, bis das Ergebnis geschrieben ist.
Schauen Sie sich https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs an, um ein Beispiel für die Implementierung einer Strategie in C# zu sehen.
Zum Wohl,
Jason