Errores, fallos, preguntas - página 2645

 
Stanislav Korotky:

Sí, toda la sintaxis MQL será descartada allí. Se ha corregido la compilación del código fuente en las nuevas compilaciones por ahora. Añadiré la cremallera.

Es posible soltar toda la jerarquía de archivos a la caja de arena sin zip.

 
fxsaber:

Es posible soltar toda la jerarquía de archivos en la caja de arena sin zip.

Se podría, pero se necesitaría la cremallera como opción. ¿Tienes las fuentes del artículo https://www.mql5.com/ru/articles/1971 adaptadas al último compilador?

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

Se podría, pero una cremallera como opción estaría en la demanda. ¿Tienes las fuentes del artículo https://www.mql5.com/ru/articles/1971 adaptadas al último compilador?

Sí, uso unzip. Aquí hay una versión que funciona.

 
fxsaber:

Sí, uso la descompresión. Aquí hay una versión que funciona.

Me quedo con la basura en el ejemplo comprimido:

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

Atornillado a mi script - lo mismo - parece estar en la biblioteca zip.

PS. Descubrí que está en Dictionary.mqh

 
Stanislav Korotky:

Me quedo con la basura como ejemplo de trabajo con cremalleras:

Atornillado a mi script - lo mismo - parece estar en la biblioteca zip.

PS. Descubrí que está en Dictionary.mqh

Hay un estilo de código calderilla. Significa que no he tenido problemas porque sólo he utilizado algunas de las funciones.

 

¿Por qué no puedo hacer una plantilla como ésta?

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

falta de concordancia de la plantilla

'f' - no puede aplicar la plantilla

ver declaración de "f

'f' - parámetro pasado como referencia, variable esperada

'f' - parámetro pasado como referencia, variable esperada

 

Tengo un pequeño problema con el repositorio. Envía algunos archivos al repositorio sin problemas, pero otros no:

Y lo más importante, no hay ningún archivo mql5.storage en la carpeta \MQL5\ para borrarlo.


¿Dónde está ahora?

 
Igor Makanu:

¿Por qué no puedo hacer una plantilla como ésta?

Porque parece que tienes una idea completamente equivocada de cómo funcionan las plantillas.

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

El "milagro" que querías no se va a producir.

 
Igor Makanu:

¿Por qué no puedo hacer una plantilla como ésta?

Porque la plantilla sólo emite tipos por parámetro, no por valor de salida.

 
fxsaber:

Porque parece que tienes una idea completamente equivocada de cómo funcionan las plantillas.

El "milagro" que querías no va a ocurrir.

como el compilador convierte las plantillas me imagino, nada nuevo, funciona igual?

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 la plantilla sólo emite tipos por parámetros, pero no por valor de salida.

Ya veo, esperaba haber pasado algo por alto.

Vale, no es crítico, funcionará a través de los parámetros

Razón de la queja: