Utilizar Formularios Delphi en C++ Builder
Hola a todos,
tengo un problema. Quiero ver si alguien me puede echar un mano sobre este tema. Tengo varias aplicaciones hechas en Delphi. Ahora estoy realizando una aplicacion en C++ Builder. Para ello, pienso en reutilizar varios formularios Delphi. Tal y como dice en el enlace que incluyo abajo esto es posible. Basta con añadir los ficheros Pascal en el proyecto. http://dn.codegear.com/article/10103 A partir de ese momento, el formulario esta disponible. Pero no se como llamarlo desde C++ Builder. La clase Delphi es TMyForm = class(TForm) y existe el puntero Delphi a la clase var MyForm : TMyForm; Pero, cuando intento llamarlo desde C++ Builder siempre obtengo el error "Undefined Symbol 'MyForm' " ¿Alguien ha utilizado Delphi Forms desde C++ Builder? Gracias Pablo |
Ya he encontrado la respuesta por mi mismo.
Primero, el mismo BDS ha creado un fichero .hpp cuando he incluido el formulario en el proyecto. Asi pues solo he tenido que incluirlo dentro del codigo. #include "MyForm.hpp" Segundo, el C++ Builder requiere un puntero extra a clase TMetaClass para las funciones definidas como class procedure en Delphi. [delphi] class procedure MyFunction( arichedit: TRichedit ); [C++ Builder *.hpp] /* class method */ static void __fastcall MyFunction(TMetaClass* vmt, Comctrls::TRichEdit* arichedit); [C++ Builder] Llamada a la funcion class procedure Delphi desde C++ Builder MyForm->MyFunction(__classid(TMyForm), RichEdit1); Espero que esto sea de ayuda a alguien. A mi me ha costado muchas horas de averiguar. Un saludo Pablo |
La franja horaria es GMT +2. Ahora son las 22:35:23. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi