2011-05-20 11 views
11

Mi nuevo Delphi XE muestra cientos de errores en el panel 'Estructura'. Muestra errores como 'FileExists no declarados en la línea 130' o 'Crear no declarado en la línea 242'. Incluso si muestra esos errores, el programa compila muy bien.Delphi XE muestra al menos 200 errores pero el programa compila muy bien

También veo que la información del código no siempre funciona. Cuando muevo el cursor sobre una variable, el cursor comienza a parpadear y no aparece ninguna ventana emergente. Otras veces, solo resalta algunas unidades en rojo y dice que no puede encontrarlas.

¿Hay trucos para solucionar todos estos problemas?


actualización/Pseudo-fix:
he encontrado que reiniciar el IDE ayuda por un tiempo.
Realmente ayudo ese día Embarcadero lanzará Delphi ST (de STable).
:)

+0

Además, los subrayados ondulantes en el Panel de Estructura y la ventana del editor se llaman 'Error Insight'. Si le molestan las líneas onduladas, puede desactivar Error Insight en Herramientas | Opciones | Opciones del editor | Información del código. –

+4

@Altar: Ser frívolo (inteligente) para las personas a las que solicita ayuda no le dará respuestas. Sabes muy bien lo que estaba diciendo, y tu último comentario no te servirá de nada. No publicó ningún código relevante ni proporcionó información adicional útil, que pedí en mi primer comentario. Por favor, mejore su pregunta, si realmente desea ayuda, o bórrela si no lo hace. –

+1

Simplemente los ignoro. Sin embargo, podrías haber hecho la pregunta mejor. ¡Me llevó años averiguar lo que quieres decir! –

Respuesta

8

Sí, CodeInsight y ErrorInsight son conocidos por tener muchos problemas. Han mejorado un poco cada versión desde hace un tiempo, pero aún hay mucho por hacer. Andreas Hausladen, que probablemente sea el tipo más inteligente de la comunidad Delphi, ha hurgado mucho en el interior de IDE, y dice que tienen errores basados ​​en la condición de carrera que probablemente no se puedan solucionar sin una reescritura total.

Si estos errores falsos le están causando problemas, probablemente pueda desactivarlos, como mencionó Ken en su comentario.

+1

+1 para desactivarlos. Lo que hace la mayoría de la gente cuando Error Insight se vuelve loco. –

+2

¿Realmente dije eso? (La "reescritura total" tal vez, lo digo mucho pero nunca lo hago yo mismo) –

+1

@Andreas: Sí, recuerdo claramente que en los foros de Emb dijiste en algún lugar que algunos de los errores de ErrorInsight (específicamente nombraste "TObject no "cosa" encontrada fueron causadas por condiciones de carrera y no se pudieron arreglar sin una reescritura total. –

4

Para mí, generalmente ayuda cerrar el proyecto y volver a abrirlo; los errores de estructura desaparecen

+0

Reiniciar el IDE funciona para mí, pero solo por un tiempo. En un momento, los usuarios deben considerar lo que es más productivo: reiniciar el IDE para resolver el problema o deshabilitar totalmente la "característica". – Ampere

0

he tenido los mismos errores de antes y me hizo la misma pregunta, esta fue la respuesta: De otro post:

Usted no comete un error. El problema es que hay tres compiladores en XE2 (como en versiones anteriores de Delphi): el compilador real (que funciona bien), el compilador Code Insight (que es más rápido), el compilador Error Insight (que debe ser incluso más rápido), y el analizador de resaltado de sintaxis (que es el más rápido).

XE2 introdujo una serie de características que hicieron que el compilador normal fuera más lento, y le dio a los compiladores Code Insight y Error Insight un poco de problema. En primer lugar, tenemos los nuevos objetivos: Win32, Win64 y OSX que causan que las rutas de búsqueda sean diferentes para cada destino (ver directiva $ PLATFORM), así como también configuración de compilación, aunque es solo una "Ruta de biblioteca" "para cada PLATAFORMA (y no para las configuraciones de compilación ).

El segundo factor complejante es los nombres de las unidades de puntos (de ámbito unidad nombres) que se introdujeron. Windows ya no es Windows, pero Winapi.Windows.

Supongo que estos dos factores complejos adicionales causan problemas para los compiladores Code Insight y Error Insight. Tenga en cuenta que el compilador real todavía funciona. Pero Error Insight muestra errores incorrectos, y Code Insight no siempre funciona para estas unidades.

Se podría tratar de añadir explícitamente al proyecto de nuevo (en la que caso se utilizará la ruta completa, como se menciona en su pregunta sobre desbordamiento de pila también).

Lo que descubrí fue:

  1. 99% de los errores se deben a los archivos editados no está guardando la derecha (incluyendo referencias)
  2. Si agrega perfiles Guardar la .dpr,. dproj, .pas, archivos DFM (guardar unidad, guardar el proyecto)
  3. Si todo falla una guardar + reinicio normalmente solucionarlo
  4. los proyectos más antiguos caminos borrar el archivo .res, se ha fallidos, Delphi lo volverá a crear.

(Lo siento por la mala mensaje inicial, Acabo de una cuenta Stackoverflow, no se le permitió a editarlo. Espero que esto será suficiente)

+0

No fue útil publicar ...! – Chella

2

Parece que gran parte de los problemas de errores Insight desaparece si mantienes las entradas de tu biblioteca actualizadas

Esto fue señalado una vez por alguien hace una EDAD en el informe de problema para una versión anterior de Delphi y nadie parece haber recogido en él. Si el error se encuentra con un archivo inexistente en la lista de BIBLIOTECAS, parece que simplemente deja de buscar más, ¡dejando esos molestos garabatos de líneas rojas en todas partes! ¡El problema era que ese informe de problemas tenía tantas entradas que todos parecían perder esa solución!

Vaya a Herramientas-Opciones y encuentre la pestaña BIBLIOTECA. Repase las listas y elimine cada entrada que sea ABSOLUTA pero NO VÁLIDA. Probablemente puedas e inicialmente dejes cualquier que tenga variables en ellos como $ (BDSLIB) incluso si no es válido, pero definitivamente comienza eliminando los inválidos que se declaran sin variables (que es lo que quiero decir con absoluta). Si está entusiasmado y solo deja que Delphi elimine automáticamente los inválidos, todos aquellos con variables "no cumplidas" desaparecerán también, y eso romperá muchas cosas (este es otro error Delphi que se discute en otro lugar de este foro, creo). También puede tener que repetir esto con las bibliotecas de opciones de proyecto, pero sea más circunspecto si el proyecto proviene de otra persona.

Si eso no hace el trabajo inmediatamente, utilice la pestaña de opciones correspondiente para alternar la casilla Error-Insight y luego vuelva a encenderla (cerrando el diálogo de opciones cada vez). Eso debería deshacerse de cualquier material en caché, si es que existe.

Eliminar algunas entradas no válidas me funcionó en Delphi XE4.

1

Notamos por qué ocurren los problemas. Si existen algunos caracteres invisibles no válidos en el código, esto se muestra como un error. Estos caracteres no válidos se producen en algún momento al copiar texto y pegarlo en el editor delphi. ¡Entonces, a veces Delphi pega texto con caracteres inválidos!

enter image description here

En primer lugar debe copiar todo el texto con errores y pegarla en la libreta ++. enter image description here

Verás que todos los textos que copies no se pegarán también. Verá ese texto dañado. Debería ver el código pegado, determinar qué código se pegó como texto.Debería ver qué código podría ver en el bloc de notas como último carácter pegado.

enter image description here

Aquí podemos ver en la imagen capturada: "RoutePatternObject);" así que después de estos caracteres no válidos algunos caracteres ocurren aquí, pero no podemos ver!

Así que seleccionamos estas áreas de texto después del carácter ";". ¡Luego borre y vuelva a escribir los códigos borrados nuevamente!

enter image description here

Todas las firmas subrayado rojo desaparecerán!

enter image description here

+0

Muchas gracias, esto me ha ayudado en un "identificador no declarado" erróneo que recibía. –

+0

@NilsGuillermin, estoy feliz de poder ayudarte. –

0

Copiar y pegar el archivo pas en el Bloc de notas, despejando el archivo pas, guardar, cerrar el IDE, abriendo el IDE a continuación, copiar y pegar desde el bloc de notas de nuevo al archivo pas trabajado para mí.

+0

BTW utilizando Delphi 2010 – becsystems

Cuestiones relacionadas