Erreurs, bugs, questions - page 2645

 
fxsaber:

Il est possible de déposer toute la hiérarchie de fichiers dans le bac à sable sans zip.

Vous pourriez le faire, mais l'option zip serait nécessaire. Avez-vous les sources de l'article https://www.mql5.com/ru/articles/1971 adaptées au dernier compilateur ?

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

Vous pourriez, mais un zip en option serait très demandé. Avez-vous les sources de l'article https://www.mql5.com/ru/articles/1971 adaptées au dernier compilateur ?

Oui, j'utilise unzip. Voici une version qui fonctionne.

 
fxsaber:

Oui, j'utilise le dézippage. Voici une version qui fonctionne.

Je me retrouve avec des déchets dans l'exemple de la fermeture éclair :

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

Vissé à mon script - même chose - semble être dans la bibliothèque zip.

PS. J'ai découvert que c'est dans Dictionary.mqh

 
Stanislav Korotky:

Je me retrouve avec des déchets comme exemple de travail avec des fermetures éclair :

Vissé à mon script - même chose - semble être dans la bibliothèque zip.

PS. J'ai découvert que c'est dans Dictionary.mqh

Il y a un style de code passe-partout. Cela signifie que je n'ai pas rencontré de problèmes parce que je n'ai utilisé qu'une partie des fonctionnalités.

 

Pourquoi je ne peux pas faire un modèle comme celui-ci ?

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);
  }
//+------------------------------------------------------------------+

modèle non conforme

f' - ne peut pas appliquer le modèle

voir la déclaration du "f

'f' - paramètre passé comme référence, variable attendue

'f' - paramètre passé comme référence, variable attendue

 

J'ai un peu de mal avec le référentiel. Il envoie certains fichiers au référentiel sans problème, mais certains ne font rien :

Et surtout, il n'y a pas de fichier mql5.storage dans le dossier \MQL5\ pour le supprimer.


Où est-il maintenant ?

 
Igor Makanu:

Pourquoi je ne peux pas faire un modèle comme celui-ci ?

Parce que vous semblez avoir une idée complètement fausse du fonctionnement des modèles.

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

Le "miracle" que vous souhaitiez ne se produira pas.

 
Igor Makanu:

Pourquoi je ne peux pas faire un modèle comme celui-ci ?

Parce que le modèle ne produit que des types par paramètre, et non par valeur de sortie.

 
fxsaber:

Parce que vous semblez avoir une idée complètement fausse du fonctionnement des modèles.

Le "miracle" que vous vouliez ne va pas se produire.

comment le compilateur convertit les modèles, je peux l'imaginer, rien de nouveau, il fonctionne de la même manière ?

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:

parce que le modèle ne produit que des types par paramètres, mais pas par valeur de sortie.

Je vois, j'espérais avoir négligé quelque chose.

Ok, ce n'est pas critique, cela fonctionnera via les paramètres.

 
Andrei Trukhanovich :

car le modèle ne produit que des types par paramètre, et non par valeur de sortie.

Ce n'est pas exact.

struct A
  {
   int               i;
   double            d;
  };

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