Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

DLL generada con Builder, problemas con Visual C++

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: DLL generada con Builder, problemas con Visual C++ Responder citando

Hola builderos, he creado una DLL con builder y necesito que puedan utilizarla con Visual C++ de Microsoft, instalé el Visual Studio 2008 para realizar pruebas y no logro hacerla funcionar. Mi librería tiene una clase y como único parametro requiere un TApplication, Visual C++ también maneja la clase Application, pero nomás no logro poder pasarla como parámetro, ya modifiqué el archivo de cabecera que requieren el visual c++, para que reciba como parámetro un (System::Windows::Forms::Application ^MiApp) y hasta ahi no tengo problema, pero cuando creo la instancia de mi clase en visual c++ y le paso como parámetro Application, me marca el siguiente error:

"System::Windows::Forms::Application" : ilegal use of this type as an expression

Si alguien me pudiera decir que tengo que hacer o como soucionarlo, le estaré muy agradecido.

Gracias y Saludos
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

¿No será que la clase TApplication de Builder y de Visual C tienen definiciones distintas?

No manejo Visual C pero seguro que son distintas. La pregunta sería ¿Porque van a ser iguales?.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

gracias por responder escafandra, pues lo curioso es que desde el compilador de Visual C++ me marca error en la linea donde paso por parámetro el Application, vamos el error no es al momento de usar la libreria, si no en el compilador. Me suena lógico lo que dices pero en todo caso la aplicación compilada en visual me tronaría al momento de querer usar la clase del visual no?

En su defecto, te cambio la pregunta, que otra cosa puedo utilizar como parámetro de mi clase en builder que sea compatible con MSVisual??, requiero el TApplication porque me permite tener el control de la aplicación que usa mi DLL, pero no se me ocurre que otra cosa pueda usar en su lugar.

Gracias y seguiré investigando.

Salu2
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Pues la única forma de compatibilizar es que los parámetros pasados sean estandar, es decir de la misma API de Windows: Histance, hModule y Handle; según te interese.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

En efecto tienes razón, ya hice los cambios pertinentes para apegarme mejor a la API y no a la definición de componentes de cada plataforma de desarrollo. Ahora el problema que me enfrento es que como no conozco el visual c++ de microsoft, no sé que tengo que hacer del lado del compilador para poder ligar la aplicación a mi DLL Sad, ya que obviamente el LIB generado por borland no funciona en Visual, pero bueno ya estoy investigando en foros de visual.

Gracias por toda ayuda escafandra.

Saludos
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Pienso que la libreria de importación, es decir, el lib generado por Builder, o el generado por IMPLIB, debe funcionar.

Una forma infalible es usar las API para importar las funciones una a una por separado:

Código:
HINSTANCE hLib = LoadLibrary("midll.dll");
GetProcAddress(hLib,"Función");


Otro problema es la incompatibilidad de nombres en las dll. revisa esto.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Otro detalle que se me olvidaba, la utilidad IMPDEF del Builder te crea un archivo.def con los nombres de las funciones exportadas. Aquí puedes ver el nombre exacto con el que debes importar dichas funciones.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Mil gracias de nuevo escafandra, tu ayuda me ha sido de gran utilidad.

Saludos
_________________
ISC
Dobermannmx
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.