como descarregar a dll - página 8

 
alsu >> :

Se o intérprete não estiver com falhas, ele não vai pular comandos no código, por mais merdas que você faça!

Não use tais superlativos, "com falhas". Se um intérprete tem algumas falhas, isso não significa que esteja com falhas. Dê uma olhada em pelo menos o mesmo relatório de bug VC, eu recomendo altamente para entender o que é "falha". A situação é uma ordem de grandeza pior, mas ninguém em seu perfeito juízo ousaria considerar a CV como "falha". Aqui é a mesma coisa.


E de qualquer forma, a dll estava em questão aqui? Há alguma objeção a que a dll seja escrita corretamente - ela se comporta corretamente? e a única maneira correta de descarregar a dll é a maneira padrão recomendada na documentação?

 
alsu >> :

AlexEro,

Ciclo em séries temporais para(i=limit;i>=0;i--) depois de terminado voou para a área de índices negativos (o que foi inevitavelmente confirmado por alertas)!!!!


int start()
  {
   for(int i=11; i>=0; i--) continue;
   Alert( i);
   return(0);
  }

))) Você estava falando sério?

Que bagunça! Eu não sabia disso!!!

(Que... dia desleixado hoje)

 
jartmailru >> :

Isso significa especificar uma dll específica na EA.

Em seguida, execute a EA e não saia do Metatrader.

Em seguida - o caso mais importante - temos que 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á. O Expert Advisor completou seu trabalho e a dll não foi descarregada.

Agora eu tenho que reiniciar toda a aplicação para substituir a dll.

Nossa, se eu entendi sua descrição corretamente, então você está sugerindo substituir a dll em si quando a EA estiver rodando, para a qual a dll está engatada?! Você já tentou parar a EA (não com um botão), depois substituir a dll, e reiniciar a EA?

 
alsu писал(а) >>

Mas assim que um programador aterrorizado começa a manipular com excesso de zelo a memória ou roubar tempo do processador do terminal para seus cálculos, ou tocar a fila de mensagens sagradas (oh meu Deus) - terminal.exe, então o malvado methaquot terá sua vingança.

E você acha que os manipuladores de mensagens do programa devem ser "como Merlin, o grande e terrível" em todos os fragmentos de código que são executados? Por que você tocaria na fila de mensagens de outra pessoa a partir de uma dll?

Já encontrei tais coisas que fazem seus cabelos ficarem de pé.

Até agora, são apenas palavras. Dê-me um exemplo de código. Eu não sou o único interessado.

Em geral, eu não encontrei dll não carregando como tal (eu já escrevi sobre isso; eu usei dll tanto em Expert Advisors quanto em indicadores; em todos os casos eu tive que "manipular com muito zelo a memória ou usar o tempo cpu" diretamente em dll e o resultado foi uma operação indesejável).

 
Svinozavr >> :

))) É isso que você quis dizer?

Que bagunça! Eu não sabia disso!!!

(Que... dia bagunçado é hoje).

Não posso reproduzir o código exatamente, mas foi algo assim

int start()
{

...

int i;
for ( i=100; i>=1; i--) //отмечу, что здесь было именно 1, а не 0
{
   //че-то делаем
   CallToDLLFunction();//здесь вызывалась какая-то простенькая функция, время работы порядка 1-3 миллисекунд
}

if( i<0) return(0); //эти две строчки вставил уже когда заподозрил неладное
Alert("i=", i);

return(0);
}

Em um mercado rápido, quando vários ticks são recebidos por segundo, este código produziu nos alertas uma seqüência i=0, i=-1, i=-2, i=-3 (dependendo de quantos ticks o terminal falhou até o início() foi executado) e então i=0 novamente.

Carrapatos perdidos - o inferno com isso, isso acontece. Mas se isso acontecer, não significa que o programa deva saltar um comando condicional, o que na verdade acontece duas vezes no código (o para loop é essencialmente um comando de ramificação, também).

 
HideYourRichess >> :

Puta merda, se eu entendi corretamente de sua descrição, você está sugerindo substituir a dll em si quando a EA estiver rodando, para a qual a dll está engatada?! Você já tentou parar a EA (não com um botão), depois substituir a dll, e reiniciar a EA?

Naturalmente, estamos falando de tentar substituir a dll após a conclusão dos testes.

Mas aparentemente sua experiência profissional sugere que depois dos erros que você cometeu

e atitude incorreta para com os usuários do fórum, é mais lucrativo começar a escolher as palavras.

.

E é claro que o grande profissional não tentou fazer um simples teste...ou tentou.

 
mesmo efeito, mas em maior escala (até -100 e mais) observado ao iniciar o terminal e carregar o indicador a partir do modelo, quando o termo carrega o fim do histórico em falta
 
jartmailru >> :

Naturalmente, estamos falando de tentar substituir a dll após a conclusão dos testes. Mas aparentemente sua experiência profissional sugere que é mais lucrativo começar a escolher as palavras depois dos erros que você cometeu e de sua atitude incorreta em relação aos membros do fórum.

Não, nossa experiência diz que é preciso ter cuidado para descobrir do que se está falando. E se um "membro do fórum" é um tolo - tudo bem, isso acontece, não se deve nem mesmo falar sobre isso em voz alta. Mas se ele é um tolo teimoso em sua ignorância - isso é certo, não há escolha de palavras. E não é preciso mentir, eu não cometi nenhum erro. Ao contrário de você.


Bem, Dll no meu Expert Advisor se comporta corretamente. Esta é a quinta vez que lhes digo, e a última vez. Talvez eu tenha um dll diferente, tão cinza, absolutamente desinteressante, não como o seu.

 
alsu >> :

Não posso reproduzir o código exatamente, mas foi algo assim

Em um mercado rápido, quando vários ticks são recebidos por segundo, este código produziu nos alertas uma seqüência i=0,i=-1,i=-2,i=-3 (dependendo de quantos ticks o terminal falhou até o início() foi executado) e então i=0 novamente.

Carrapatos perdidos - o inferno com isso, isso acontece. Mas se isso acontecer, não significa que o programa deva saltar um comando condicional, o que na verdade acontece duas vezes no código (o for loop é também um comando de ramificação).

O esclarecimento da condição de loop i>=1 em vez de 0, como você citou em meu primeiro post confuso, tira a suspeita - eu estava começando a pensar que você também tinha ido... doente também.

Condições de saltos? Legal. Nunca aconteceu. O que é esta dll mágica? )))

Você pode reproduzir o resultado? E veja a própria dll. Não que eu não acredite - só quero realmente aprender a escrever tais dlls. Para que tudo se encaixasse no lugar. Mais tarde terei algo para falar com pessoas inteligentes...

 
HideYourRichess >> :

Portanto, em minha EA, o Dll se comporta corretamente. Pela quinta vez estou relatando, e pela última vez. Eu devo ter um dll diferente, um dll tão cinza absolutamente desinteressante, não como o seu.

Ótimo! Você já atingiu um novo nível - um nível de abstração.

Você provavelmente tem experiência no trabalho com pessoas, talvez no comércio.

.

Bem, vamos aplicar esse tipo de raciocínio. Estou muito contente que você tenha aceitado meus argumentos.

Pela minha parte, só tenho que assegurar a todos que minhas Dlls funcionam ainda mais corretamente.

Em qualquer caso, os resultados foram os mesmos do Metatrader tester e do Neuroshell's Dll.

.

Mas como alguém incapaz de realizar um simples teste e de fazer um relatório, não me responda novamente.

>> Exceto para o público.

Razão: