PDA

Ver la Versión Completa : Compilar en otra versión


elcigarra
18-08-2005, 05:02:42
Quiero compilar un paquete para que funcione en Delphi 6. Necesariamente debo tener el Delphi 6 o puedo compilarlo desde mi delphi 7 para otras versiones de Delphi?

El error que me da instalar el .bpl compilado en D7 en un D6 es la falta (obviamente) del rtl70.bpl.

JXJ
18-08-2005, 05:12:19
¿Tienes el codigo fuente?=

¿Pagaste por el.. a lo mejor, si es asi, algunos vendedores de componentes?
te dan el codigo fuente. y otras veces tienen versiones más baratas sin el
codigo fuente.?

'¿Si solo tienes los archivos compilados para intalar el componente.?

no creo que se pueda. hacer lo que dices.

si cuentas con los codigos fuente. haz una copia para meterle mano
creo que puedes. intentar. editar el archivo principal. dpk... y cambiar la
referencia de rtl70.bpl por rtl60.bpl

y nos dices que tal te va. si tienes los codigos fuente, y quieres ponerlos
para probar. otros, si pueden hacer lo que dices. ponlos.

elcigarra
18-08-2005, 14:11:42
¿Tienes el codigo fuente? Si

¿Pagaste por el.. ? No, porque el paquete de componentes lo hice yo.:D

Tengo un Delphi 7 pero quiero mandar los archivos .BPL y .DCP del paquete compilado para que lo utilice alguien que tiene un Delphi 6. Pero no quiero mandarle el código por lo que no le puedo pedir que lo compile en su Delphi. Yo quería saber si dando alguna directiva al compilador del delphi 7 este puede compilar en versiones anteriores.

JXJ
18-08-2005, 18:53:54
Eso si se puede, pero yo no se como.

Puedes guiarte con el componente, TCool TrayIcon,

que en un solo paquete, tienen las directivas, para instalarlo en delphi 5, 6 y 7
además de que es free, y openspurce. ??;::S el chiste es que el componente
viene con los archivos fuente.

jmariano
18-08-2005, 20:04:59
Saludos!

Creo que para que puedas usar un paquete en otra versión anterior tendrás que pasar las fuentes (y esto no siempre funciona, a veces hay que retocar las fuentes, por eso siempre se distribuyen diferentes fuentes o compilados para cada versión). El problema es debido a que, cuando compilas, se crea una dependencia de paquetes y eso impide que un .BPL compilado con Delphi v7 funcione en Delphi v6 (es, mas o menos, el mismo problema que ocurre con los archivos .dcu de un componente que ha sido compilado con una versión diferente, al instalarlo nos pide el .pas). Si lo pensais un poco es lógico ya que una versión "nueva" siempre tendrá funcionalidades extras con respecto a una versión anterior (independientemente de que las usemos o no).

elcigarra
18-08-2005, 20:12:17
Amigos entiendo todo. Pero la pregunta concreta es si desde la plataforma de Delphi 7 puedo utilizar un compilador de delphi 6.

Es decir si quiero hacer una version para delphi 6 compilada de un paquete. Tengo que instalar el delphi 6????

elcigarra
18-08-2005, 20:18:34
... una cosa más. No necesito que funcione en D7 ni en ningún otro. Lo quiero solo para D6, es decir un paquete especifico para Delphi 6, solo que no lo tengo. No puedo creer que todos los que hacen componentes para 7 versiones de Delphi tengan las 7 instaladas en el disco. Entiendo cuando das el fuente para que cada uno se lo compile. Debes tener cuidado que los comandos sean coherentes (todo ese rollo del {$IF VER140..., etc), pero cuando das los .dcu, p.ej. tienen que estar compilados en cada compilador correspondiente.

jmariano
18-08-2005, 20:28:27
Como te comenté antes, la respuesta es sí. Si quieres pasar sólo los compilados, entonces, tendrás que compilar con la versión correspondiente de Delphi (que, en tu caso, sería Delphi v6).

EDITO: No hay problema con tener varias versiones instaladas de Delphi en la misma máquina ya que los paquetes de ejecución se diferencian por el sufijo: rtl70.bpl, rtl60.bpl..., y en el registro de Windows se crea una entrada por cada versión para diferenciar la personalización de las opciones de dichas versiones.