Errores, fallos, preguntas - página 2568

 
Artyom Trishkin:

(condición1 y (condición2 o condición3))

gracias

 
Aleksandr Goryachev:

gracias

Lo interesante es que el código dice exactamente lo mismo.

 
Artyom Trishkin:

Lo interesante es que el código dice exactamente lo mismo.

Sólo quería aclarar, me preguntaba...

 

A partir de alguna compilación, una función ya no se exporta desde la biblioteca ( importación no resuelta):

typedef void (*pOnBookEvent)(const string &symbol);

void OrderBook_Init(pOnBookEvent ptr, const string folder, const bool common, const int offset) export

Esto se debe a un parámetro definido por typedef. Si se elimina, la exportación comienza a funcionar. ¿Cómo y qué ha cambiado MQ? ¿Probablemente algo con typedefs? Resulta que al construir la biblioteca en la build anterior, la firma del parámetro era una, pero al compilar el EA que utiliza la biblioteca en la nueva build, la firma es diferente.

Para aclarar, el cambio se produjo entre las construcciones de 2007 y 2085. Una búsqueda en las notas de la versión no dio una respuesta.

 
Vict:

0x20

¿Es posible hacer algo así en este ejemplo?
Es decir, inicializar un array char numérico con un valor vacío, no cero.

char Arr[];
ArrayResize(Arr, 5);
ArrayInitialize(Arr, '\0');
   
for(int i=0; i<5; i++)
   Print(Arr[i]);
 
Roman:

¿Es posible hacer algo así en este ejemplo?
Es decir, inicializar un array char numérico con un valor vacío, no cero.

No veo por qué no
 
Vict:
No veo ninguna barrera.

Hay una barrera.

ArrayInitialize(Arr, ' ');

Inicializado con el número 32
Por lo que he entendido, no hay ningún valor vacío para un carácter char que no sea '\0'.
Pero este char inicializa el array con ceros.
La pregunta era si es posible inicializar con un valor vacío, no cero.

 
Roman:

Hay una barrera.

Inicializado con el número 32
Según tengo entendido, no hay ningún valor vacío para un carácter char que no sea '\0'.
Pero este char inicializa el array con ceros.
La pregunta era si es posible inicializar con un valor vacío, no cero.

Mira. Cuando declaras el array char a[100], físicamente significa que se asignaron 100 bytes en la pila, eso es todo, están ahí y tienen valores de 0x0 a 0xff
 
Vladimir Simakov:
Mira. Cuando declaras el array char a[100], físicamente significa que se asignan 100 bytes en la pila, eso es todo, están ahí y tienen valores de 0x0 a 0xff

Sí, y contiene basura.

char a[100];
   
for(int i=0; i<100; i++)
   Print(a[i]);

La pregunta era muy diferente. Para inicializarlo con un valor vacío, no cero. Si es que tal cosa es posible.
¡El cero es un número! Un valor vacío a mi entender, sin números, sin nada.
Pero las celdas de memoria se inicializan con este vacío ))

 

MT5 Build 2145 con fecha 17 de septiembre de 2019.

Cuando el probador se inicia, desactiva automáticamente el grupo de agentes de la red local. Si se enciende a la fuerza, la próxima vez que se ponga en marcha el comprobador lo volverá a apagar a la fuerza.

Estoy harto del problema que se arrastra durante medio año cuando, de repente, la mitad de los agentes dejan de aceptar el trabajo y hay que forzarlos a salir y volver a entrar,

y ahora tengo que encender los agentes locales cada vez que se inicia el probador.