Discussão do artigo "Expondo código C# para MQL5 usando exportações não gerenciadas" - página 5
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou em um Windows 8 64.
Eu o compilei com o vs2013.
No entanto, ele carrega, mas há uma chamada de função de importação não resolvida.
Como posso resolver isso?
2014.03.05 20:39:59.220 Chamada de função de importação não resolvida UnmanagedExportsDLLExample1 (XAUUSD,H1)
2014.03.05 20:39:59.220 UnmanagedExportsDLLExample1 (XAUUSD,H1) Não é possível encontrar 'Add' em '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)
Hi,
Estou recebendo erros semelhantes. Como você resolveu o problema?
2014.03.28 22:16:41.199 2014.03.25 23:59 chamada de função de importação não resolvida
2014.03.28 22:16:41.199 2014.03.25 23:59 Não é possível encontrar 'Set2DArray' em 'Testme.dll'
Pelo que entendi, o modelo RGiesecke UnmanagedExportLibrary...
Esta mensagem foi deixada há mais de meio ano. Houve alguma alteração desde então????
Método um:
Tenho 64 win 7, vs2012 C#. Baixei o arquivo de modelo testme.zip do proprietário.
No meio do prompt, alguns erros (caminho errado, arquivos ausentes, etc. e assim por diante) foram resolvidos.
Mas, no final, ainda aparece o mesmo problema e lá em cima. Não sei se ele foi resolvido agora? Qual é o método para resolver.
Método dois:
NuGet instalou o pacote RGiesecke.
https://www.nuget.org/packages/UnmanagedExports/1.2.6
A versão mais recente, de 201311, solicita
Erro 2 C:\Users\Administrator\AppData\Local\Temp\tmp8B24\dllTest.il(58) : error : syntax error at token '{ ' in: {
dllTest
Você pode usar o C++ stripper com a ajuda do IJW e, em seguida, mesclar tudo em uma única DLL puramente por meio do compilador - linker, perversões com o modelo descrito no artigo não são necessárias, descritas brevemente aqui - http://stackoverflow.com/questions/26226958/include-managed-c-sharp-dll-into-unmanaged-c-dll-all-in-one-single-file.
Bem, e o método descrito com o modelo RGiesecke - é um hack e, mais cedo ou mais tarde, deixa de funcionar, e eu, a propósito, também não funcionei...Mas se alguém ainda quiser brincar com o método IL descrito no artigo, há mais uma bicicleta, mas ela também não funciona - https://github.com/winch/winch.pinkbile.com-c-sharp/tree/master/dll_tool/dll_tool.
Olá,
Alguém conseguiu enviar uma estrutura com variáveis do tipo string para a dll?
Consegui enviar int, double, float, mas para variáveis de string recebo este erro:
Access violation read to 0x0000007BAqui está minha estrutura C#:
E aqui está a estrutura mql4:
Tentei transferir a variável de cadeia de caracteres dentro da estrutura, mas o MT4 trava totalmente, sem erro, apenas trava e trava no Windows.
Obrigado.
Sim, em algum momento escreveremos um novo artigo sobre o uso de DLLs. Muitas coisas interessantes foram adicionadas lá.
Enquanto isso, você pode usar os exemplos do artigo em discussão. Não há nada complicado lá.
E ... Quanto tempo devo esperar? Um ano, dois... ou 10?
Já se passaram 3 anos. De acordo com o artigo mencionado no início, não é possível importar métodos da dll. Onde estão os exemplos?
Muito obrigado por este artigo. Usei as ideias aqui para criar esta biblioteca MQL de código aberto para C#.
https://github.com/jseparovic/MQL4CSharp
Ela ainda está em desenvolvimento e não foi testada no momento, mas os testes iniciais mostram que a ideia funciona.
É muito básica na forma como envia comandos do C#, usando um Thread para o código C# ser executado e getters/setters para comunicação. O MQL procura por comandos em espera a cada milissegundo, enquanto o código C# pode bloquear até que o resultado seja gravado.
Dê uma olhada em https://github.com/jseparovic/MQL4CSharp/blob/master/MQL4CSharp/UserDefined/Strategy/MaCrossStrategy.cs para ver um exemplo de como implementar uma estratégia em c#.
Obrigado,
Jason