Mensaje    Asunto: Integrando Unidad Pascal a proyecto de C++Builder de unidade Responder citando

Hola Compañeros del foro:

Yo creo que es interesante esta experiencia para ustedes. Podría decirse que no es nada del otro mundo, pero yo había preguntado en varios foros y a la gente de soporte de latinoamérica y no obtuve respuesta.

Bueno resulta que yo obtuve un proyecto más o menos complejo en Delphi y por supuesto yo lo empecé a traducir a C++Builder. Largo, complicado y todo pero terminé, pasando por ARREGLO de PUNTEROS y funciones que no concordaban.

Cuando terminé de pasarlo intenté compilar ya llegaron los errores de sintaxis... un rato otra vez y hasta que al fin terminé.

Una vez terminada la corrección de sintaxis no se hicieron esperar las excepciones y que dolor de cabeza me producían.. ya que era una aplicación MULTIHILOS... no sabía como se propagaba el error ... pidiendo ayuda ya que no podía poner los hilos en condición de competencia... intenté colocándole sonido para saber que se hacía y que no. La depuración no la podía hacer muy bien ya que la aplicación manejaba mensajes y a veces éstos se perdían.

Hasta que por fin... fuera excepciones, pero los resultados no se veían tal como en la aplicación de Delphi.

Se me ocurrió ir reemplazando unidades de Object Pascal (del proyecto original en Delphi) por unidades de C++ (al proyecto mio de C++Builder) y así descubrir la unidad problemática y lo logré.

Cómo?
Primero compilar el proyecto de Delphi en C++Builder: Se incluyen todas las unidades del proyecto de Delphi a un nuevo proyecto en C++ Builder, removí las unidades de C++ sobrantes y que no necesitaba. Grabar el proyecto y hecharlo a correr. (Un poco demorado pero al fin se llega a lo esperado).

C++Builder genera varios archivos, entre ellos unos con extensión *.hpp (útiles para buscar equivalencias cuando se está pasando código) y otros con extensión *.obj.

Hasta aquí por lo menos ya se debería tener el proyecto de C++Builder equivalente (el que se quiere traducir, por supuesto hecho por el interesado no el que se genera automáticamente) al proyecto de Delphi.

Borrar los archivos generados por C++ Builder con extensión *.obj.

Reemplazar UNA POR UNA las unidades de C++ (obviamente el header, es decir, con extensión *.h) con su respectiva "unidad", en este caso la unidad no es más que un archivo con extensión *.hpp que C++Builder también genera.

Ahora correr el código y probar donde el programa corre y donde funciona.

Espero que esta experiencia les sirva a los que quieren probar códigos provenientes de Delphi en C++Builder.

joseluisbz@bigfoot.com