Erros, bugs, perguntas - página 2569

 
Roman:

Sim, e contém lixo.

A questão era bastante diferente. Para inicializar com um valor vazio, não zero. Se tal for de todo possível.
Zero é um número! Um valor vazio como eu o entendo, sem números, nada.
Mas as células de memória são inicializadas com este vazio ))

Como o imagina?

Um local de memória contém sempre algo. Um único byte pode conter um número entre 0 e 255.

Não é fornecido um valor vazio.

 
Roman:

Sim, e contém lixo.

A questão era bastante diferente. Inicializar com um valor vazio, não zero. Se isso for sequer possível.
Zero é um número! Um valor vazio como eu o entendo, sem números, nada.
Mas as células de memória são inicializadas com este vazio ))


Qualquer coisa é possível, mas a tarefa não é clara. Alocar a partir de códigos de intervalo de caracteres com estado especial, se possível(CHAR_MAX- vazio, CHAR_MAX-1 - erro, etc.), ou paralelamente a bandeiras de armazenamento de conjuntos de caracteres descrevendo o estado do conjunto de caracteres (um byte - bandeiras "vazias" para oito células). Mas isto provavelmente não é de todo necessário, estranha carência.

ZS: provavelmente a influência de línguas onde todas as arrays são associativas
 
Roman:

Sim, e contém lixo.

A questão era bastante diferente. Inicializar com um valor vazio, e não zero. Se isso for sequer possível.
Zero é um número! Um valor vazio como eu o entendo, sem números, nada.
Mas as células de memória são inicializadas com este vazio ))

Não funciona dessa forma)))) Um byte é uma unidade de informação. Se estiver lá, então há um valor.
 
Maksim Emeliashin:

MT5 Build 2145 datado de 17 de Setembro de 2019.

Quando o testador inicia, desactiva automaticamente o aglomerado de agentes de rede local. Se for for forçado a ligar, a próxima vez que o testador forçado desliga-o novamente à força.

Tão farto e cansado do problema que se arrasta durante meio ano quando de repente metade dos agentes deixam de aceitar o trabalho e é preciso forçá-los a sair e a entrar novamente,

e agora tenho de ligar os agentes locais sempre que o testador arranca.

O que é exibido no livro de registo do testador quando se faz isto?

 
Slava:

O que é exibido no livro de registo do testador quando se faz isto?

Já a obteve, havia uma versão de depuração da EA, aparentemente não pode ser usada para o testador nos agentes locais, mas apenas naqueles no seu computador, embora não seja claro porquê.
 
Roman:

Sim, e contém lixo.

A questão era bastante diferente. Para inicializar com um valor vazio, não zero. Se isso for sequer possível.
Zero é um número! Um valor vazio como eu o entendo, sem números, nada.
Mas as células de memória são inicializadas com este vazio ))

por exemplo, rubricar diferentes tipos com "vazio

   uchar  c=EMPTY_VALUE;
   uint   i=EMPTY_VALUE;
   ulong  l=EMPTY_VALUE;
   short  s=EMPTY_VALUE;
   float  f=EMPTY_VALUE;
   double d=EMPTY_VALUE;
   string str=EMPTY_VALUE;
   uchar uc[];
   StringToCharArray(str,uc);

que temos em forma de HEX quando depuramos:


Com cordas, é uma coisa engraçada.


mas se a corda for inicializada desta forma

string str="";

então o resultado:


Bem, se não inicializar(string str;) de todo, bem como inicializar =NULL, então o que precisa é de um verdadeiro vazio:


 
Nikolai Semko:

por exemplo, rubricar diferentes tipos com "vazio

que temos em forma de HEX quando depuramos:


Com cordas, é uma coisa engraçada.


mas se a corda for inicializada desta forma

então o resultado:


Bem, se não inicializar(string str;) de todo, bem como inicializar =NULL, então o que precisa é de um verdadeiro vazio:


Onde viu um vazio? Chama-se "overrun array ". Em C/C++ comportamento indefinido e aqui erro de tempo de execução.
Todos os outros tipos são implicitamente fundidos a partir do dobro, por isso também aí está.
 
Vladimir Simakov:
Onde se vê o vazio? Chama-se "overrun array ". Em C/C++ comportamento indefinido, e aqui é erro de tempo de execução.
Todos os outros tipos são implicitamente fundidos a partir do dobro, pelo que também aí tudo está correcto.

A corda está vazia (não a matriz uchar), como se não existisse, ou seja, nem sequer a memória está atribuída.

Isto é observado em outros tipos. Se declarar uma variável, isso significa que a memória já está atribuída.
Mas de facto, o cordel não é um tipo primitivo, mas um tipo de referência, bem como qualquer matriz.

 

não consegue descobrir como verificar oPrintFormat

Nota

PrintFormat() não é executado no modo de optimização do testador de estratégia.

Alguma ideia?

 
Igor Makanu:

não consegue descobrir como verificar oPrintFormat

Nota

PrintFormat() não é executado no modo de optimização do testador de estratégia.

Alguma ideia?

Verificar o quê?

Quer ver como é impresso?

No visualizador.