2011-05-16 20 views
5

Después de instalar Delphi XE, mi viejo Delphi 7 comenzó a fallar más a menudo. Hoy, descubrí que uno de mis BPL todavía estaba cargado por D7 incluso si lo borraba de "c: \ Archivos de programa \ Borland \ Delphi7 \ Projects \ Bpl". Después de buscar todo el disco, he descubierto una copia de ese BPL en "c: \ Users \ Public \ Documents \ RAD Studio \ 8.0 \ Bpl".Delphi 7 se bloquea después de instalar Delphi XE (rutas mixtas BPL)

Mi pregunta es: ¿por qué Delphi 7 busca en "c: \ Users \ Public \ Documents \ RAD Studio \ 8.0 \ Bpl"? ¿Cómo puedo convencerlo de que solo se vea en "c: \ Archivos de programa \ Borland \ Delphi7 \ Projects \ Bpl"?

+2

Creo que uno de esos caminos en su segundo párrafo se suponía que mencionaba Delphi XE, ¿no? –

+0

IIRC existen configuraciones de proyecto locales para esto y para las globales. Verifica ambos. Además, IIRC BPL son DLL con algunos Delphi-magic incluidos, por lo que es posible que la ruta de búsqueda DLL (global) (variable 'PATH' entre otros) interfiera. – 0xC0000022L

+1

Bienvenido al infierno DLL/BPL autoinfligido. Los archivos DLL y BPL no se cargan solo desde una carpeta, sino que se cargan desde donde se encuentran, por nombre, en la ruta. –

Respuesta

10

Delphi XE probablemente aumente la variable de entorno PATH para incluir la carpeta Delphi XE Bpl. Delphi 7 no sabe nada mejor; llama al LoadLibrary como todo lo demás, y eso busca en la ruta del sistema.

Siga el ejemplo Delphi y proporcione a sus paquetes sufijos específicos de la versión que reflejan la versión de Delphi para ellos. Debería poder configurarlo en las opciones del proyecto, o de lo contrario solo puede tener archivos de proyecto específicos de la versión que ya tengan los sufijos de versión en sus nombres. De esta forma, incluso si la versión Delphi XE del paquete es visible en la ruta, no tendrá el nombre correcto, por lo que Delphi 7 no intentará cargarla.

+7

+1 para VERSION SUFIJOS. –

+0

Gracias Rob. Solo intenté (hace algunas semanas) ver si uno de mis paquetes se compila en Delphi XE ... parece compilado, él. Realmente no tenía la intención de usar XE de verdad, hasta ayer. No se me pasó por la mente que XE le hará eso a D7. De lo contrario, por supuesto, tengo la intención de usar sufijos de versión. – Ampere

Cuestiones relacionadas