como descarregar a dll - página 7

 

AlexEro,

Estou de volta das férias, vejo que você tem os bastardos em cima de você. Vamos matá-los juntos. )))))

HIdeYourRichess,

O problema com o carregamento da dll após a exclusão do indicador existe de fato, mas não é por causa da presença ou ausência de erros no código da dll em si, mas porque os desenvolvedores limitaram o uso de bibliotecas externas por meio dos chamados "limites razoáveis".

Quais são esses limites - o caralho sabe, eles não se preocuparam em explicar em detalhes. Entretanto, desde que a biblioteca se enquadre dentro destes limites, os uploads e downloads são bons.

Mas assim que um programador perturbado começa a manipular com excessivo zelo a memória ou roubar tempo do processador do terminal para seus cálculos ou toca a fila de mensagens sagradas (oh querido) - terminal.exe, o malvado methaquot vai se vingar.

Não ser descarregado não é novidade. Já encontrei tais coisas que fazem meu cabelo encaracolar. Por exemplo, alguns indicadores (que não continham chamadas DLL, lembre-se) começaram a subir no espaço de endereços um do outro. E mesmo após uma chamada de uma simples função da DLL (mesmo não fazendo nada - eu tentei especificamente!) o terminal de repente pulou(!) as linhas do programa MQL. O loop da série for(i=limit;i>=0;i--) timeseries após sua conclusão sairia para a área de índices negativos (o que era inevitavelmente confirmado por alertas)!!! O que mais surpreendeu foi aquele terminal.exe, tendo reconhecido toda a comicidade da situação após um certo número de milissegundos e imediatamente se cagou, imediatamente parou de se agitar e retornou ao seu valor original de 0. Como se nada tivesse acontecido.

Vamos discutir o que o utilitário regsvr faz depois de corrigir os erros com o manuseio do código dos programas Ex4.

 
HideYourRichess >> :

Mais uma vez - eu não tenho problemas com dll em nenhum lugar. Se você tiver problemas, são seus problemas de programação, nem a MS nem a MT são provavelmente os culpados. E você precisa usar o "velho" VC - deve ficar claro de qualquer forma.

Homem engraçado.

Tudo é resolvido através de testes.

.

Então pegue a dll, puxe-a para fora da EA - se ela puder ser removida

com a MT correndo, é isso, você é um herói, parabéns!

E se falhar, por que você está escrevendo isto aqui? Para quem?

Para que os clientes vejam que tipo de tratamento receberão quando trabalharem com seus produtos?

Ou então todos sabem exatamente quem não deve pedir conselhos?

.

Agora eu estou pensando, que tipo de resposta as pessoas que fizeram a pergunta querem?

o mais provável: criar um exe, carregar um dll com link dinâmico para ele

via GetProcAddress() e puxar as ligações.

Se quando o Exe estiver em funcionamento não remover o Dll após a descarga, você tem um problema.

Isto se chama obter um resultado objetivo real em vez de compensar

alguns "erros" de "sua programação".

E a este resultado obtido você pode chegar a uma teoria :-)...

.

As teorias, arrependo-me, foram todas inventadas aqui.

Mas isso é porque você é preguiçoso demais para levantar a % para responder adequadamente.

.

E VBAG... bem... Bravo!

Descrição inteligente do problema, estudo de caso específico, tudo se tornou claro.

Embora para você, se você estiver trabalhando com um servidor de aplicação, a substituição da dll não será tão relevante em breve :-).

.

Francamente falando - para depuração é melhor ter dados *estáticos* em um arquivo.

Faça um EA despejar os dados em um arquivo para você.

Nos últimos 7 anos, tenho lido e escrito arquivos multimegabytes em uma linha - tudo é muito rápido.

E para um arquivo separado por tabulação você pode converter esta grande cadeia de caracteres em uma só vez e sem substratos()'s

(em décimos de segundo), porque a divisão em cordas e depois em colunas também funciona de alguma forma

muito lento (foram alguns segundos). Para que, se algo cair, o problema possa ser *guarantido*.

reproduzir, em vez de depender de geradores de números aleatórios.

.

E com esta abordagem (!) os testes seriam simplificados. Porque não é um Dll.

Porque o botão run em ONE CLICK irá compilar, deslizar, executar, e o próprio exe levará os dados necessários.

.

P.S.: só os problemas de "programação" podem ser resolvidos...

 

Concordo com os camaradas anteriores que minha DLL deve ser usada no MT4 com cautela e limitação. Isto significa o acima mencionado, bem como o fato de que você deve desenvolver sua DLL gradualmente, e sem exotismo. Sua DLL é um hóspede temporário na casa de outro semintérprete na MQL4.

2 alsu: Estou doente, não tenho nada para fazer, não posso conduzir um projeto inteligente na cama, mas uma conversa com os nerds não exigiu muito esforço mental, por isso rabisquei-a. Estou esperando quando a consciência deles acordará, mas ainda não é visível, apenas demagogia e verborreia ....

 
alsu >> :

O problema com a descarga de DLL após a remoção do indicador realmente existe, mas está ligado não à presença ou ausência de erros no próprio código DLL, mas ao fato de que os desenvolvedores limitaram o uso de bibliotecas externas por meio dos chamados "limites razoáveis".

alsu >> :

Quais são estes limites - o caralho sabe, eles não se preocupam em explicar em detalhes. No entanto, desde que a biblioteca se encaixe dentro destes limites, os uploads e downloads correm bem.

Mas assim que um programador perturbado começa a manipular com excessivo zelo a memória ou roubar tempo do processador do terminal para seus cálculos ou toca a fila de mensagens sagradas (oh querido) - terminal.exe, o malvado methaquot vai se vingar.

Não ser descarregado não é novidade. Já encontrei tais coisas que fazem meu cabelo encaracolar. Por exemplo, alguns indicadores (que não continham chamadas DLL, lembre-se) começaram a subir no espaço de endereços um do outro. E mesmo após uma chamada de uma simples função de uma DLL (mesmo não fazendo nada - eu tentei especificamente!) o terminal de repente pulou(!) as linhas do programa MQL. O loop da série for(i=limit;i>=0;i--) tempo, depois de terminado, sairia para a área de índices negativos (o que era inevitavelmente confirmado por alertas)!!! O que mais surpreendeu foi aquele terminal.exe, tendo reconhecido toda a comicidade da situação após um certo número de milissegundos e imediatamente se cagou, imediatamente parou de se agitar e retornou ao seu valor original de 0. Como se nada tivesse acontecido.

Vamos discutir o que a regsvr utility faz depois de corrigir erros de processamento do código eX4.

Como dizem, você pode quebrar a sua piça se for estúpido. Em outras palavras, se você não consegue escrever programas normais de trabalho em MQL - o problema é seu, não é MQL, é só isso. Você pode escrever uma dll de buggy em C, mas não está cancelando o fato de que C é uma ótima linguagem. E aqui também, um mau dançarino, ou seja, você, se mete no caminho das bolas. Entendo seu desejo de culpar a MT ou MS por seus erros. Se não passar com a idade, não há nada que você possa fazer a respeito.

 
HideYourRichess >> :

Aqui, como eles dizem, você pode tolamente quebrar sua piça. Em outras palavras, se você não consegue escrever programas decentes e viáveis em MQL - o problema é seu, não é MQL, é tudo. Você pode escrever uma dll de buggy em C, mas não está cancelando o fato de que C é uma ótima linguagem. E aqui também, um mau dançarino, ou seja, você, se intromete no caminho dos bolls. Entendo seu desejo de culpar a MT ou MS por seus erros. Se não passar com a idade - então nada mais o ajudará.

A julgar por seu avatar, na sua idade não há nada para quebrar e nada para interferir.

Você já viu minhas dlls? Por que diabos você os chamaria de palavras ruins? Eu nunca escrevi falhas - não tenho tempo para isso. A falha neste caso foi escrita com metacotas (não estou fazendo reivindicações à MS, a propósito). Se você nunca colocar nada mais complexo do que 2 +2 em uma dll, isso não significa que outros não o façam. 2 +2 não apresentarão falhas.

 
jartmailru >> :

Homem engraçado.

Tudo é resolvido através de testes.


Eu o testei - funciona bem para mim.


jartmailru >> :

Então pegue a dll, puxe-a para fora da EA - se ela puder ser removida

com a MT correndo, é isso, você é um herói, parabéns!

E se falhar, por que você está escrevendo isto aqui? Para quem?

Então os clientes podem ver como eles serão tratados enquanto trabalham com seus produtos?

Ou então, todos sabem exatamente a quem não devem recorrer para obter conselhos?


O que você quer dizer com "pode ser removido"? Minhas dlls na EA estão se comportando decentemente. Eu devo estar fazendo algo completamente errado.

 
HideYourRichess >> :

>> esse é o seu problema, não a MQL.

Se o intérprete não estiver com falhas, ele não vai pular os comandos no código, mesmo que você cague suas calças aqui!

 
HideYourRichess >> :

O que você quer dizer com "pode ser removido"? Minhas dlls na EA estão se comportando decentemente. Eu devo estar fazendo algo completamente errado.

O que eu quero dizer é que você tem que especificar uma dll específica na EA.

Então você tem que dirigir o Expert Advisor e não sair do Metatrader.

A seguir, o caso mais importante é fingir que estamos substituindo a dll por uma nova.

Se falhar quando o metatrader estiver funcionando (e eu verifico apagando o arquivo)-então

então o sistema pensa que a dll está em uso...

voilá. Seu Expert Advisor está agora completo e a dll não foi removida.

Agora você tem que reiniciar todo o aplicativo para substituir o Dll.

 
AlexEro >> :

Estou doente.

H1N1;)

>> eles disseram que receberam o prefixo.

 
alsu >> :

A julgar por seu avatar, na sua idade não há nada para quebrar e nada para interferir.

Você já viu minhas dlls? Por que diabos você os chamaria de palavras ruins? Eu nunca escrevi falhas - não tenho tempo para isso. A falha neste caso foi escrita em metaquotes (não estou fazendo reivindicações à MS, a propósito). Se você nunca colocar nada mais complexo do que 2 +2 em uma dll, isso não significa que outros não o façam. 2 +2 não apresentarão falhas.


Oooooh, muye se abaixou para tentar gozar com o avatar. O próximo passo é tentar fazer troça do apelido.


De que horrores você falou em seu discurso anterior? De que horrores você falou para um público surpreso? Olhando para isso, estou genuinamente perplexo. Você teria que trabalhar muito para conseguir isso. Daí as palavras ruins para suas dlls. Mas se esses horrores que você descreveu não dizem respeito às dlls, por que você está falando sobre eles?


A propósito, o que significa 2+2? Isso é uma medida de dificuldade? Tente implementar algo como 2+2 por conta própria, como no Excel, e você ficará surpreso como é difícil.

Razão: