Erros, bugs, perguntas - página 1969

 
Alexey Kozitsyn:
Sim, estou a ver... Vou então criar outra aplicação.

A minha candidatura para MT5 - 2016.10.11 16:28,#1584315- aceite para revisão até ao momento. ;-)

 
Stanislav Korotky:

A minha candidatura para MT5 - 2016.10.11 16:28,#1584315- aceite para revisão até ao momento. ;-)

A CBO precisa de escrever periodicamente ao pedido para que eles respondam ao mesmo. Por vezes, sentem a sua falta.
 
Alexey Kozitsyn:
Isso era o que eu pensava ter sido corrigido, mas agora não é. Acabou de ser verificado. Bild 1643.

É construído em 1650. Veja isto.

 
Artyom Trishkin:

Já está construído em 1650. Veja isto.

OK, acabei de nomear a última construção oficial.
 

Originalmente, existiam vários módulos. Tudo estava a funcionar bem. Devido a ... decidiu converter temporariamente tudo em um só.
Resultado: o programa começou a funcionar de forma diferente.
Descobri a razão:

#ifndef _WIN64 //добавлено
class A {
public:
        A() { Print( a ); } //Результат: 0 //не может быть
        static const int a; //(1)
}; 
static A *a = new A;    //(2)
const int A::a = 1;     //(3)
void OnStart() {}
#endif

Não conseguimos descobrir exactamente por que razão esta sequência específica de linhas apareceu (geralmente a implementação/inicialização vem logo após a declaração). Talvez tenha sido o cruzamento mútuo de classes.

Não sei exactamente como é que o compilador C++ o faz, mas o resultado: 1 (como esperado)
 

Erro, a leitura falha.

   ulong l[] = {ULONG_MAX};
   ulong l2[1];
   {
      int file = FileOpen("ttt", FILE_WRITE|FILE_BIN);
      FileWriteArray(file, l);
   }
   {
      int file = FileOpen("ttt", FILE_READ|FILE_BIN);
      FileReadArray(file, l2);
   }
   Alert(l[0] == l2[0]);
   Alert(l[0], "   ", l2[0]);
   return;

Alert:

falso

18446744073709551615 10000000

Imagem hexagonal do número no ficheiro: FF FF FF FF FF FF FF FF FF FF FF FF FF FF

 
pavlick_:

O erro, a leitura está a funcionar mal.

Não está a ler, está a inicializar a matriz. Retirar os parênteses encaracolados.

Sou lento, vou verificar novamente.
 
Комбинатор:

Não a leitura, mas a inicialização da matriz. Retirar o aparelho encaracolado.

Sem eles, não compilará de todo ("l" - acesso de matriz inválido). De qualquer modo - o número no ficheiro está correcto.

 
Suspeito que a primeira pega deve ser fechada ou aberta com a bandeira FILE_SHARE_READ
 
Комбинатор:
Suspeito que a primeira pega deve ser fechada ou aberta com a bandeira FILE_SHARE_READ

Obrigado pelo seu interesse. Eu fiz. Fechou as pegas, agora funciona correctamente. Tenho um erro no meu guião, tentando localizá-lo, até agora.