Delphi 7 se bloquea después de instalar Delphi XE (rutas mixtas BPL)

Después de instalar Delphi XE, mi viejo Delphi 7 comenzó a fallar con más frecuencia. Hoy, descubrí que D7 todavía cargaba uno de mis BPL, incluso si lo borraba de "c: \ Archivos de programa \ Borland \ Delphi7 \ Projects \ Bpl". Después de buscar en todo el disco, descubrí una copia de ese BPL en "c: \ Users \ Public \ Documents \ RAD Studio \ 8.0 \ Bpl".

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

preguntado el 16 de mayo de 11 a las 19:05

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

IIRC hay entornos de proyecto locales para esto, así como los globales. Compruebe ambos. Además, las BPL de IIRC son DLL con algo de Delphi-magic incluido, por lo que es posible que la ruta de búsqueda de DLL (global) (PATH variable entre otras) interfiere. -

Bienvenido al infierno de DLL / BPL autoinfligido. Los archivos DLL y BPL no se cargan desde una sola carpeta, se cargan desde donde se encuentran, por nombre, en la ruta. -

1 Respuestas

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

Siga el ejemplo de Delphi y proporcione sus paquetes sufijos específicos de la versión reflejando para qué versión de Delphi son. Debería poder configurar eso en las opciones del proyecto, o de lo contrario, puede tener archivos de proyecto específicos de la versión que ya tengan los sufijos de la versión en sus nombres. De esa manera, incluso si la versión Delphi XE del paquete está visible en la ruta, no tendrá el nombre correcto, por lo que Delphi 7 no intentará cargarlo.

Respondido el 09 de diciembre de 17 a las 19:12

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

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.