Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
¿Es posible incluir rutinas C++ en aplicacion Delphi?

Buenas tardes

Es posible incluir rutinas en C++ en mi aplicacion con Delphi, es decir, hacer un ejecutable con ambas rutinas ?

Alguna idea o experiencia ?
Responder Con Cita
  #2  
Antiguo 14-01-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.038
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Define "rutinas".
Puedes incluir "objetos", bibliotecas, etc. creadas con c++, pero rutinas no sé exactamente a qué te refieres.
Responder Con Cita
  #3  
Antiguo 14-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Ok,

Me disculpo por lo poco claro que fui.

Rutinas o funciones de calculo por ejemplo
Responder Con Cita
  #4  
Antiguo 15-01-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Delhi no compila C++ pero Builder si compila delphi. La fira de incluir funciones escritas en C, con cualquier compilador C, es con dlls, o incorporando ar hijos obj al proyecto Delphi, cosa que si puede hacer. Esto se hace con la directiva
Código Delphi [-]
{$LINK filename}


Link object file (Delphi)


Saludos.
Responder Con Cita
  #5  
Antiguo 15-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Otra opción es meterlas en una DLL y llamarlas desde tu aplicación Delphi (o lo que sea).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 15-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Muchas gracias

Me podrian decir como llamo estas funciones desde Delphi si las coloco en una DLL ?
Responder Con Cita
  #7  
Antiguo 15-01-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Un ejemplo de como importar la API wsprintf desde User32.dll


Código Delphi [-]
function wsprintf(lpOut, lpFmt: PChar): Integer; cdecl; varargs; external 'User32.dll' name 'wsprintfA';




Saludos.
Responder Con Cita
  #8  
Antiguo 15-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Muchas gracias a todos por sus aportes
Responder Con Cita
  #9  
Antiguo 15-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La otra opción es con LoadLibrary y GetProcAddress, para hacerlo de forma dinámica.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #10  
Antiguo 15-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
La otra opción es con LoadLibrary y GetProcAddress, para hacerlo de forma dinámica.
Hola

Podrias colocar un ejemplo de ello ?
Responder Con Cita
  #11  
Antiguo 15-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.267
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por compuin Ver Mensaje
Podrias colocar un ejemplo de ello ?

https://www.clubdelphi.com/foros/showthread.php?t=92441
https://stackoverflow.com/questions/...-dll-in-delphi
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #12  
Antiguo 19-01-2020
compuin compuin is offline
Miembro
 
Registrado: oct 2010
Posts: 210
Poder: 14
compuin Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Un ejemplo de como importar la API wsprintf desde User32.dll


Código Delphi [-]
function wsprintf(lpOut, lpFmt: PChar): Integer; cdecl; varargs; external 'User32.dll' name 'wsprintfA';




Saludos.
Hola,

He tratado de hacerlo asi pero me arroja un error, el cual dice lo siguiente

The procedure entry point MYFUNCION could not be located in the dynamic link library MYDLL.DLL

La funcion existe en el DLL, el cual fue creado con Borland C++ 7.4

Alguna sugerencia ?
Responder Con Cita
  #13  
Antiguo 20-01-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por compuin Ver Mensaje
Hola,

He tratado de hacerlo asi pero me arroja un error, el cual dice lo siguiente

The procedure entry point MYFUNCION could not be located in the dynamic link library MYDLL.DLL

La funcion existe en el DLL, el cual fue creado con Borland C++ 7.4

Alguna sugerencia ?

El hecho de que uses una función en una dll no implica que esa dll la exporte. depende de la dll que realmente la exporta. Implemente una función en tu dll, expórtala e impórtala de forma estática desde delphi. Eso es lo que debe funcionar.


Código PHP:
__declspec(dllexport)

int MyFuncion(int parametro)
{
  return 
parametro*2;


Código Delphi [-]
function MyFuncion(parametro: integer): integer; cdecl; external 'MyDLL.dll' name 'MyFuncion';


Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
incluir fuente (tipo de letra) en aplicacion Delphi advancexz Varios 4 31-10-2008 19:47:23
Desarrollar Aplicacion para VoIP en Delphi es posible??????????? cancerbero Varios 2 03-08-2006 17:21:14
Como Incluir Un Gif En Una Aplicacion ultimate_ZERO C++ Builder 1 20-04-2006 02:21:42
Es posible ejecutar en un form de delphi una aplicacion ? cso2000 Varios 2 18-07-2005 15:46:09
Incluir la version de la aplicacion Zopi Varios 1 04-06-2003 02:00:03


La franja horaria es GMT +2. Ahora son las 06:21:53.


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
Copyright 1996-2007 Club Delphi