Las dos primeras advertencias que mencionas (junto con algunos otros) son para hacerle consciente de que el código que está utilizando actualmente no se compilará a través de diferentes plataformas de Delphi soporta. Para Delphi 2007, no hay mucho, pero lleva los remanentes de Kylix (la versión de Linux que se ha ido) y Delphi para .NET (que también se ha ido).
Versiones más recientes de Delphi admiten plataforma multiplataforma (Win32/Win64, OS X, iOS y Android), donde estos mensajes son relevantes nuevamente al desarrollar aplicaciones Firemonkey (o aplicaciones VCL si hay diferencias entre Win32 y Win64) . Indican los puntos en su código donde tendrá que hacer ajustes en su código para diferentes sistemas operativos. (Por ejemplo, los dos que cita son para diálogos específicos de Windows, necesitaría usar un diálogo diferente basado en la plataforma de destino, y usar declaraciones {$IFDEF}
alrededor de las áreas que son específicas de la plataforma para evitar que se compilen en otras plataformas.
Como su código actual no puede ser portado directamente (incluso en una versión moderna de Delphi) a otra cosa que no sea Windows porque está basado en VCL, puede apagar esas advertencias de manera segura. Use Project->Options->Compiler Messages
, y desmarque los siguientes mensajes (o utilizar el compilador defino he incluido en el código):
Library Symbol {$WARN SYMBOL_LIBRARY OFF}
Platform Symbol {$WARN SYMBOL_PLATFORM OFF}
Library Unit {$WARN UNIT_LIBRARY OFF}
Platform Unit {$WARN UNIT_PLATFORM OFF}
Unsafe type (.NET remnant) {$WARN UNSAFETYPE OFF}
Unsafe code (.NET remnant) {$WARN UNSAFECODE OFF}
Unsafe typecast (.NET remnant) {$WARN UNSAFECAST OFF}
el último que has mencionado no puedo reproducir con D2007 (versión de dos IDE 11 .0.2804.9245), entonces sospecho que la respuesta de skamradt es correcta, es porque tienes los directorios de origen de VCL en tu ruta de búsqueda, y no deberías. Debe establecerse en $(BDS)\Lib
. Si necesita poder recorrer el origen, use la página Project->Options->Compiler
y marque la opción Use debug DCUs
bajo Debugging
.
Tengo este problema en XE5, pero no estoy seguro de qué camino eliminar, ¿puedes decir qué ruta exactamente? – Wel