Se produce ese problema cuando se cambia de versión de Builder (Enterprise/Profesional/Personal). Para conseguir que el proyecto funcione de nuevo hay que cambiar la configuración del tratamiento de paquetes y del enlazador.
Sigue estos pasos:
Abre el proyecto y contesta "cancelar" a cada paquete que se te solicite.
En la barra de menú elige "Project"->"Options".
En la pestaña "Packages", desmarca "Build with runtime packages".
En la pestaña "Linker", desmarca "Use dynamic RTL".
Acepta y reconstruye el proyecto ("Project"->"Build"
Se debe a que faltan las librerías de apoyo al ejecutable (.bpl,.dll, etc.). Una buena solución es configurar Builder para que incluya las librerías de apoyo en el propio ejecutable.
Sigue estos pasos:
Abre el proyecto y contesta "cancelar" a cada paquete que se te solicite.
En la barra de menú elige "Project"->"Options".
En la pestaña "Packages", desmarca "Build with runtime packages".
En la pestaña "Linker", desmarca "Use dynamic RTL".
Acepta y reconstruye el proyecto ("Project"->"Build")
Para hacer un "instalador" que meta nuestro programa en una carpeta, cree un enlace en el menú "Inicio" de Windows, etc. se puede recurrir al programa "Install Shield" que viene con el CD de Builder.
También se puede usar el software gratuito "Inno Setup" (es el que se ha usado en SimSeny). Tienes una versión en la web de la asignatura "Diseño de Sistemas Informáticos Industriales".
Posiblemente el compilador no se da cuenta de los cambios en el código. Lo mejor es forzar a que se recompile todo de nuevo.
En la barra de menú haz "Project"->"Build".
Cierra Builder y copia los ficheros que forman el formulario en el directorio con el proyecto dónde quieres meterlo. Serán 3 ficheros, por ejemplo, unit1.dfm
, unit1.cpp
y unit1.h
.
Abre el proyecto destino y añade el .cpp al proyecto tal como lo harías con una librería (opción Add to project). Verifica que la propiedad Visible del form añadido esté a true para que se vea el formulario.
Si el Form utiliza componentes de terceros, se deberá configurar el nuevo proyecto para que localice las librerías. La mejor manera de enterderlo es que abras un proyecto y mires en "Project->Options->Directories" y compares con lo mismo en la otra plicación, te darás cuenta de cómo hay que hacerlo.
Hay otras formas más elaboradas de reutilizar formularios. Mira el libro recomendado en la asignatura.
Una carácterística que hace muy potente a entornos como Borland Builder, Borland Dephi, Microsoft VisualBasic y otros son la posibilidad de usar componentes de terceros.
La siguiente tabla incluye una selección de direcciones dónde localizar componentes. Se han seleccionado especialmente las orientadas al trabajo en nuestras asignaturas.
Table 1. Direcciones Internet dónde localizar componentes
Dirección | Comentarios |
http://www.iocomp.com | ActiveX, VCL,... Muchos componentes para procesos industriales. Versión de evaluación. |
http://www.arrakis.es/~rporcar/ | VCL gratuitos. Información adicional en castellano. Club de forofos. |
http://delphi.icm.edu.pl | Recopilatorio de componentes VCL y ActiveX, información y herramientas varias gratuitas. Incluyendo componentes para E/S. |
http://www.lohninger.com | Componentes VCL para gráficas, análisis matemáticos, estadísticos, gestión GIS, etc. Hay una versión gratuita reducida. |
http://www.vclcomponents.com | Recopilatorio de distintos tipos de componentes. VCL, ActiveX, ... |
http://www.activex.com | Recopilatorio de componentes ActiveX. |
http://www.active-x.com | Recopilatorio de componentes ActiveX. |
http://www.lmd.de | Varios componentes VCL. Versíon gratuita reducida. |
http://www.tmssoftware.com/ | ActiveX, VCL,... Muchos componentes para procesos industriales y otros cometidos. No tienen versión de prueba |
http://www.componentsource.com | Recopilatorio de distintos tipos de componentes. VCL, ActiveX, ... |
http://www.abaecker.de | VCL,... Muchos componentes para procesos industriales. Versión de evaluación. |
http://sourceforge.net/projects/giw | Componentes GTK para instrumentación. |
http://www.automatedsolutions.com | Componentes de distintas tecnologías para HMI. |
http://www.softwaretoolbox.com | Componentes de distintas tecnologías para HMI. Versión de demo disponible. |
Se deb procurar que los nuevos componentes se instalen en el mismo directorio en los dos ordenadores. La mejor opción es crear un directorio dentro del de Builder (por ejemplo, C:\Archivos de Programa\Borland\CBuilder\mis_cosas).
También se debe procurar instalar los componentes siempre en un nuevo "pakage" y no hacerlo en el que viene por defecto en Builder. En los distintos ordenadores usados para desarrollar el proyecto se deberá crear ese mismo paquete. Lo de los paquetes sale al ir al menú "Component->Install ..."
Hay una equivalencia entre funciones. De momento no la he encontrado en Intenet, pero se puede ampliar información en http://bdn.borland.com sección componentes ActiveX.
La siguiente tabla puede ser de ayuda. Se irá ampliando según vaya haciendo falta en la asignatura.
Table 2. Equivalencia VB y Builder
Notación VB | Uso en Builder |
nombre_1.nombre_2() | nombre_1->nombre_2() |
funcion(Double valor) | double valor; valor = 3.9; funcion(&valor); |
funcion(String nombre) | funcion(wchar_t *) ...por ejemplo funcion(StringToOleStr("hola") |
funcion(Long valor) | funcion(long valor) |
tipo Boolean | Usar 0 para "falso" y "1" para verdadero |
Si tienes alguna sugerencia para mejorar y ampliar esta información, por favor, hazmela llegar al correo electrónico.