Discussione sull’articolo "Esposizione del codice C# in MQL5 utilizzando esportazioni non gestite" - pagina 5

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Sono su un 64 win 8.
L'ho compilato con vs2013.
Tuttavia, viene caricato, ma c'è una chiamata di funzione di importazione non risolta.
Come posso risolvere questo problema?
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) chiamata di funzione di importazione non risolta
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) Impossibile trovare '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)
Ciao,
Sto ricevendo errori simili. Come hai risolto?...
2014.03.28 22:16:41.199 2014.03.25 23:59 chiamata di funzione di importazione non risolta
2014.03.28 22:16:41.199 2014.03.25 23:59 Impossibile trovare 'Set2DArray' in 'Testme.dll'
Per quanto ho capito il modello RGiesecke UnmanagedExportLibrary...
Questo messaggio è stato lasciato più di mezzo anno fa. È cambiato qualcosa da allora????
Metodo 1:
Ho 64 win 7, vs2012 C#. Ho scaricato il file modello testme.zip del proprietario.
Nel mezzo del prompt alcuni errori (percorso sbagliato, file mancanti, ecc. e così via), è stato risolto.
Ma alla fine, appare ancora e e di sopra lo stesso problema. Non so se ora è risolto? Quale metodo per risolvere.
Metodo due:
NuGet installato pacchetto RGiesecke.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
L'ultima versione del 201311 richiede
Errore 2 C:\Users\Administrator\AppData\Local\Temp\tmp8B24\dllTest.il(58) : errore: errore di sintassi al token '{ ' in: {
dllTest
È possibile utilizzare lo stripper C++ con l'aiuto di IJW, e poi unire tutto in un'unica DLL puramente per mezzo del compilatore - linker, non sono necessarie perversioni con il modello descritto nell'articolo, descritto brevemente qui - http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file.
Beh, e il metodo descritto con il modello RGiesecke - è un hack e tale prima o poi smette di funzionare, io, tra l'altro, anche non ha funzionato ...Ma se qualcuno vuole ancora giocare con il metodo IL descritto nell'articolo, c'è un'altra moto, ma non funziona nemmeno - https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool.
Salve,
Qualcuno è riuscito a inviare una struttura con variabili stringa all'interno, alla dll?
Sono riuscito a inviare int, double, float, ma per le variabili stringa ottengo questo errore:
Access violation read to 0x0000007B
Ecco la mia struttura C#:
E qui la struttura mql4:
Ho provato a marshallare la variabile stringa all'interno della struttura ma MT4 si blocca completamente, nessun errore, si blocca e si blocca in windows.
Grazie.
Sì, tra qualche tempo scriveremo un nuovo articolo sull'uso delle DLL. Sono state aggiunte molte cose interessanti.
Nel frattempo, è possibile utilizzare gli esempi dell'articolo in discussione. Non c'è nulla di complicato.
E ... Quanto tempo bisogna aspettare? Un anno, due... o 10?
Sono già passati 3 anni. Secondo l'articolo citato all'inizio non è possibile importare metodi da dll. Dove sono gli esempi?
Grazie mille per questo articolo. Ho usato le idee qui per costruire questa libreria MQL opensource per C#.
https://github.com/jseparovic/MQL4CSharp
È ancora in fase di sviluppo e al momento non è stata testata, ma i primi test mostrano che l'idea funziona.
È molto semplice nel modo in cui invia i comandi da C#, utilizzando un thread per l'esecuzione del codice C# e getter/setter per la comunicazione. MQL esegue il polling dei comandi in attesa ogni millisecondo, mentre il codice C# può bloccarsi fino alla scrittura del risultato.
Date un'occhiata a https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs per un esempio di implementazione di una strategia in C#.
Grazie,
Jason