Delphi 2009: File not found: ‘winprocs.dcu’

Mi lenguaje de programación principal es el Pascal, y uso Delphi 2009 como IDE. Si tu también lo usas o piensas pasarte y trabajarás con proyectos que se crearon en versiones anteriores, esta entrada de mi blog te ahorrará un montón de dolores de cabeza.

Si abres un proyecto o una unit de Delphi que ha sido creado en versiones anteriores, te puede ocurrir que cada dos por tres el code completation, el code insight y el buscador de declaraciones no funcione, y en la ventana de mensajes aparezca algo similar a lo siguiente:

[Pascal Fatal Error] XXXXXX.pas(100): F1026 File not found: ‘WinProcs.dcu’

Sin embargo aún con el error de que faltan units, si compilas el proyecto (incluso si haces un build) funciona todo bien.

Este error se produce porque en Delphi 2009 (y supongo que en Delphi 2010 también) se han cambiado los nombres de algunas units principales; y aunque en el compilador éstas se cambian de nombre automáticamente, el code completation, code insight y el buscador de declaraciones no lo hace y dejan de funcionar.

Para solucionarlo, puedes arreglar la cláusula uses de cada unit del proyecto cambiando las units obsoletas por las nuevas… o hacer este truco: Ir al menú Project -> Options, seleccionar la opción “Delphi compiler” y luego en “Unit aliases” escribir las equivalencias de las antiguas units que ya no existen:

WinTypes=Windows;WinProcs=Windows;DbiProcs=BDE;DbiTypes=BDE;DbiErrs=BDE

Con esto todas las ayudas del editor volverán a funcionar sin mostrar molestos errores.

3 comentarios

Dejar un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.