2008-11-06 11 views

Respuesta

18

¡Acabo de encontrar la respuesta pronto después de publicar esto! Puede ser útil para otras personas.

Vaya a 'Project -> Options - > Delphi Compiler -> Hints and Warnings' y cambiar el valor de 'Output Warnings' a 'as errors'

que estaba buscando una opción similar a lo que Visual Studio tiene

+0

He mirado a la derecha en esa pantalla pero nunca he caído para ver la opción "como errores". Cuando vi True como predeterminado, asumí que "False" era la única otra opción. ¡Gracias! –

11

En una nota relacionada, si está utilizando el compilador de línea de comandos (DCC32.exe) el modificador es -W^para tener advertencias tratadas como errores. Si está utilizando esto, es importante tener en cuenta que el shell de comandos predeterminado en Windows (cmd.exe) trata el símbolo de intercalación (^) como un carácter de escape, por lo que debe usar -W ^^ si está ejecutando el compilador directamente desde la línea de comandos, un archivo de proceso por lotes o incluso desde los eventos Pre-Build o Post-Build en el IDE.

También vale la pena mencionar que solo se pueden tratar ciertas advertencias como errores. El cambio para hacer esto en la línea de comando se vería así: -W ^^ WARNING-NAME. Debería sustituir la cadena que está asociada con la advertencia que desea tratar como un error.

0

El punto sobre -W^que es problemático dentro de los archivos BAT es bueno. El uso de -W ^^ funciona si está modificando la línea de compilación directamente. De lo contrario, descubrí que el uso de comillas dobles circundantes "-W ^" funciona, por ejemplo cuando se construye un env var que contiene todos los parámetros del compilador, que env var se pasa posteriormente a dcc32.exe. Probado con XE, XE2, XE3, XE4.

SET CompilerParams=-B -M "-W^" -U"..\Source;%dcuoutdir%;%DUnitPath%" -I"..\Source\inc" "-N0%dcuoutdir%" -DDebugMode 
"%dcc%bin\dcc32.exe" %FuTFolder%ADDTests.dpr %CompilerParams% -U"%FuTSource%" %ExtraPath32%>%DCCLogFilename% 
if errorlevel 1 %Alerter% %DCCLogFilename% 
Cuestiones relacionadas