Errores, fallos, preguntas - página 2705

 
fxsaber:

¿Pueden decirme cómo encontrar el lugar de la fuente desde donde se hizo la inclusión correspondiente?

Por lo visto, hasta ahora sólo hay medios de terceros o de fabricación propia. Por ejemplo, puede utilizar mi programa parker o el artículo sobre el análisis MQL. Los datos se recogen allí y deben imprimirse en un registro o en otro lugar. Pero las definiciones no se manejan allí.

Otros analizadores a simple vista son lint, doxygen.

MQL5 Program Packer
MQL5 Program Packer
  • www.mql5.com
This script allows you to assemble a zip-file of your MQL5-program with all dependencies automatically. The dependencies are: included source files via #include directive (both modes of absolute () and relative ("") references are supported); icons linked by #property icon directive; resources (images, sounds, and other types) embedded by...
 
Propuesta a los promotores.
Añadir la búsqueda/reemplazo por el proyecto actual a ME, porque durante la refactorización ir a través de cada uno de los archivos y buscar la ocurrencia no es de alguna manera buena.
 
Sergey Dzyublik:

Sólo a mano.
Puede sugerir a los desarrolladores que rellenen las columnas vacías Archivo, Línea, Columna con información relevante sobre el archivo fuente desde el que se hizo la inclusión.

A través del menú PKM me gustaría.


Stanislav Korotky:

Al parecer, por ahora sólo hay herramientas de terceros o caseras. Por ejemplo, mi programa Parker o un artículo sobre el análisis MQL. Los datos se recogen allí y sólo hay que darles salida en un registro o en otro lugar. Pero las definiciones no se manejan allí.

Otros analizadores que se me ocurren son lint, doxygen.

Conozco esa posibilidad gracias a su gran herramienta. Desgraciadamente, no siempre consigo encontrar una cadena de inclusión necesaria porque un mismo mqh puede aparecer varias veces. Y necesitas su primera inclusión durante la construcción.

 

Bug ME(build 2380) la funcionalidad Reemplazar (Strl + H) no funciona para habilitar "Sólo texto seleccionado" junto con "Buscar arriba" cuando se resalta la sección de la aplicación requerida y no todo el código.
Secuencia de acciones a reproducir:

void Increment(int &n){
   ++n;
};

void test(){
   int n = 0;
   for(int i = 0; i < 100; ++i){
      DebugBreak();
      Increment(n);
   }  
}

void OnStart(){
   test();
}


1. Inserte el código, seleccione la sección dada con el ratón, abra Reemplazar (Ctrl + H)
2. Activar "Sólo texto seleccionado" y "Buscar arriba".
3. Para insertar "prueba", sustituir por "mejor", aplicar "Reemplazar todo".
Resultado: no se encontró nada.
Resultado esperado: sustituir "prueba" por "mejor".


Archivos adjuntos:
 
Es la segunda vez que me encuentro con un problema en ME- uno de los hilos está cargando el procesador al 100%.
Al mismo tiempo todo funciona correctamente en ME.
Si cierro ME, el proceso sigue colgado y cargando el procesador, tengo que matarlo manualmente.
Tal vez haya alguna condición de carrera entre la compilación en segundo plano y la manual para un proyecto de tamaño medio (3 segundos en Intel 7700-HQ)...
 
fxsaber:

Soy consciente de esta posibilidad a través de su maravillosa herramienta. Por desgracia, no siempre es posible encontrar la cadena de inclusión correcta, ya que el mismo mqh puede estar presente varias veces. Y necesitamos su primera inclusión durante la construcción.

Es la primera inclusión que se detecta. El orden de recorrido de los archivos será el mismo que en la compilación, a menos que la compilación condicional interfiera - para las macros es necesario modificarlo.

Yo suelo hacer precisamente eso: cambiar el nombre del archivo mqh correcto y me indicará dónde está el fallo al intentar compilar.

 
Stanislav Korotky:

Suelo hacer una cosa sencilla: cambiar el nombre del archivo mqh correcto y me dirá dónde está el fallo cuando intente compilar.

Gracias por el método. Entonces el algoritmo es el siguiente: voy a la fuente mqh con ENTER, presiono ALT+N, la renombro, presiono F7.

 
Bug ME (build 2380) la descripción del error de compilación no cabe en el límite de 256 caracteres y se trunca, lo que hace que no se pueda entender para qué tipo de datos se produce el error, ya que la parte requerida se ha truncado.


Una sugerencia a los desarrolladores es que consideren aumentar el límite a al menos 512 caracteres, o registrar en un archivo, o proporcionar detalles en una ventana separada.
 
Sergey Dzyublik:
Bug ME (build 2380) la descripción del error de compilación no cabe en el límite de 256 caracteres y se trunca, lo que hace que no se pueda entender para qué tipo de datos se produce el error, ya que la parte requerida se ha truncado.


Una sugerencia a los desarrolladores es que consideren aumentar el límite a al menos 512 caracteres, o registrar en un archivo, o proporcionar detalles en una ventana separada.
Si miras los registros con PKM --> Ver, ¿también se trunca allí?
 
Artyom Trishkin:
Si el registro se ve a través de PCM --> Ver, ¿también se recorta allí?

Ese es el problema, no hay un libro de registro para la pestaña de Errores en ME.

Razón de la queja: