Erros, bugs, perguntas - página 2645

 
Stanislav Korotky:

Sim, toda a sintaxe do MQL será ali descartada. Compilação de fontes fixas sob novas construções, por agora. Acrescentarei o fecho de correr.

É possível baixar toda a hierarquia de ficheiros para a sandbox sem zip.

 
fxsaber:

É possível deixar cair toda a hierarquia do ficheiro na caixa de areia sem zip.

Poderia, mas o fecho como opção seria necessário. Tem as fontes do artigo https://www.mql5.com/ru/articles/1971 adaptadas ao mais recente compilador?

Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
  • www.mql5.com
Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
 
Stanislav Korotky:

Poderia, mas um fecho como opção estaria a ser exigido. Tem as fontes do artigo https://www.mql5.com/ru/articles/1971 adaptadas ao mais recente compilador?

Sim, utilizo o unzip. Aqui está uma versão funcional.

 
fxsaber:

Sim, utilizo o descompactar. Aqui está uma versão funcional.

Fico com o lixo no exemplo zipado:

2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 leaked strings left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 undeleted objects left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 objects of type KeyValuePair left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    2184 bytes of leaked memory

Aparafusado ao meu guião - a mesma coisa - parece estar na biblioteca zip.

PS. Descoberto em Dictionary.mqh

 
Stanislav Korotky:

Fico com o lixo como um exemplo de trabalho com fechos de correr:

Aparafusado ao meu guião - a mesma coisa - parece estar na biblioteca do zip.

PS. Descoberto em Dictionary.mqh

Há um estilo de código em forma de boilerplate. Isso significa que não me deparei com problemas porque apenas usei algumas das funcionalidades.

 

Porque não posso fazer um modelo como este?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
T f(int value)
  {
   T result;
   return(result);
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   a = f(i);
  }
//+------------------------------------------------------------------+

desajustamento de modelos

'f' - não pode aplicar o modelo

ver declaração de 'f'.

'f' - parâmetro passado como referência, variável esperada

'f' - parâmetro passado como referência, variável esperada

 

Estou a ter um pequeno problema com o repositório. Envia alguns ficheiros para o repositório, mas alguns não fazem nada:

E o mais importante, não existe um ficheiro mql5.storage-file na pasta \mQL5 para o apagar.


Onde está agora?

 
Igor Makanu:

Porque não posso fazer um modelo como este?

Porque parece ter uma ideia completamente errada de como os modelos funcionam.

   a.i = f<int>(i);

O "milagre" que desejava não vai acontecer.

 
Igor Makanu:

Porque não posso fazer um modelo como este?

Porque o modelo só produz tipos por parâmetro, não por valor de saída.

 
fxsaber:

Porque parece ter uma ideia completamente errada de como os modelos funcionam.

O "milagre" que desejava não vai acontecer.

como o compilador converte os modelos que posso imaginar, nada de novo, funciona da mesma maneira?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
void f(int value,T &result)
  {
   T tmp;
   result = tmp;
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   f(i,a);
  }
//+------------------------------------------------------------------+
Andrei Trukhanovich:

porque o modelo só produz tipos por parâmetros, mas não por valor de saída.

Estou a ver, esperava ter esquecido algo.

Ok, não é crítico, vai funcionar através de parâmetros