Erros, bugs, perguntas - página 1760

 
Alexandr Bryzgalov:

porque é que o mql5 só tornou majik positivo?

eu adoro majiks negativos, o homem (((

Dennis Kirichenko:
É uma verdadeira chatice com os não transparentes... Não sei quem foi guiado pelo quê quando os criou. Sentem-se pessoas diferentes de organizações diferentes...

@Dennis Kirichenko, @Alexander Bryzgalov

não há ambiguidade.

INT(LONG) só leva metade do intervalo de UINT(ULONG)

tipos de trabalhos deconversão sem quaisquer limitações.

---

Pode verificá-lo você mesmo.

long  a=-100

ulong ua=(ulong)a;

long b=(long)ua;

Print(a, " - ", ua, " - ", b);


Tudo funciona como deve ser.

podem ser utilizados mágicos negativos.

 
Vladimir Karputov:

Extraído da classeCPositionInfo:

bool CPositionInfo::SelectByIndex(const int index)

quase no meio do nada )

este exemplo é muito esperado na secção de ajuda:"informação de conta".

 
Alexandr Bryzgalov:
quase no meio do nada )
É tudo relativo: se trabalhar cem vezes por dia com a biblioteca padrão, tudo se revela muito próximo :)
 
Vladimir Karputov:
É tudo relativo: se trabalhar cem vezes por dia com a biblioteca padrão, tudo se revela muito próximo :)
trabalhar com a referência
 
o_O:

@Dennis Kirichenko, @Alexander Bryzgalov

não há ambiguidade.

A INT(LONG) apenas toma metade do intervalo de UINT(ULONG).

trabalhos deconversão de tipo sem restrições

---

Pode verificá-lo por si próprio.

long  a=-100

ulong ua=(ulong)a;

long b=(long)ua;

Print(a, " - ", ua, " - ", b);


Tudo funciona como deveria

a magia negativa pode ser usada

Veja, na magia -1 compila e corre bem e encontra-a usando esta magia.

Estava a começar a ficar frustrado.

mesmo assim, é silencioso:

uint Magik=(-1);
mas ainda não é negativo, mas muito positivo, foda-se).
 

Alexandr Bryzgalov:

só que ainda não é negativo, mas positivo, foda-se).

não muda nada. por int é -1
 
o_O:
não muda nada. pois int é -1

A questão é, se eu definir magik -1 e depois compará-lo com zero, será maior que zero.

é essa a questão, teremos de o comparar com meio uint ou convertê-lo em int

é uma questão de técnica, mas mesmo assim ...
 
Alexandr Bryzgalov:

a coisa é, se eu definir magik -1 e depois compará-lo com nulo, será maior do que nulo.

aqui está o problema, terá de o comparar com meio uint ou convertê-lo em int

é uma questão de técnica, mas mesmo assim ...

Se quiser comparar int com uint, o compilador deve avisá-lo sobre tal comparação inválida.

deve em qualquer caso efectuar a conversão para o mesmo tipo. sem "mas".

 

Tenho um bug específico relacionado com o optimizador do compilador, ao que parece.

O código grande não funciona como deveria - desfaz-se apenas no Release (Debug - normal).

Após um dia de dança, descobri que se comentar o ObjectFind num só lugar os atrasos desaparecem.

Contudo, não fui capaz de criar uma amostra de tamanho pequeno com o mesmo problema.

Tentei deixar o ObjectFind no código original mas acrescentei uma impressão trivial antes/depois dele. E não houve atrasos! Quando retiro a impressão, mais uma vez abranda!

Parece que o optimizador do compilador foi longe demais. Não tenho ideia de como o escrever em CD, pois não posso criar um pequeno código de repetição. E se eu escrever um grande, será um inferno para pagar.

O que pode ser feito nesta situação? Suponho que cortar um código grande, desde que seja reprodutível, é uma opção. Mas o projecto consiste em muitas bibliotecas. Já me levou um dia inteiro e não quero continuar a fazê-lo.

 

Caros programadores!

Por favor, faça as pontas de ferramentas de depuração para variáveis como no feiticeiro.

Assim, passo o meu rato sobre uma variável e aparece uma ponta de ferramenta com o valor actual dessa variável. Seria muito conveniente.

Razão: