2012-02-03 9 views
5

Estoy actualizando algunos proyectos a XE2 y yo no entiendo por qué en algunos proyectos¿Por qué se acepta Jpeg en la cláusula uses en algunos proyectos y en otros se requiere vcl.imaging.jpeg?

uses jpeg; 

se acepta

y en otros que necesito escribir

uses vcl.imaging.jpeg; 

¿Me podría explicar ¿Por favor?

+0

para firemonkey es 'vcl.imnaging.jpeg;' y normalmente es su propio 'vcl.imnaging.jpeg; 'mira esto https://forums.embarcadero.com/thread.jspa?messageID=399715&tstart=0 – PresleyDias

Respuesta

6

La diferencia se debe a la configuración de los nombres del alcance de la unidad en las opciones del proyecto para sus diversos proyectos.

Si tiene Vcl.Imaging incluido en esa configuración, entonces no es necesario que especifique por completo el alcance de la unidad. Por lo general, los proyectos antiguos que se actualizan desde versiones anteriores de Delphi tendrán Vcl.Imaging incluido en la configuración de nombres de ámbito de la unidad. Los nuevos proyectos no.

Esto se describe en el documentation for Unit Scope Names.

+2

Ok, ¡ahora puedo dejar de golpear mi cabeza contra la pared! – LaBracca

+0

Esto, por cierto, resuelve mi otra pregunta que publiqué, pensé que eran problemas no relacionados pero era lo mismo. Básicamente, el problema no estaba en la definición condicional, sino solo en el alcance de la unidad: http://stackoverflow.com/questions/9130305/delphi-how-to-know-all-the-conditional-defines-in-a-project – LaBracca

Cuestiones relacionadas