Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2004
walace_soy walace_soy is offline
Miembro
 
Registrado: may 2003
Ubicación: La Laguna (Tenerife)
Posts: 88
Poder: 21
walace_soy Va por buen camino
Comunicación con funciones de una dll

Hola, tenemos Delphi 6 y nos han enviado una dll que esta hecha en Visual Basic .NET.

Hacemos las llamadas como las hacemos siempre y no conseguimos que ejecute, nos da errores de memoria, alguien ha tenido este problema?, hay que hacer algo especial para utilizar en Delphi 6, una funcion que esta en una dll que esta hecha con visual basic.NET.

Si alguien puede ayudarme se lo agradeceria.
Responder Con Cita
  #2  
Antiguo 05-10-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que haces, no se hace!

La dll es .NET, igual= una DLL de objetos en managed code. Necesitas es que te la pasen como un objeto COM, o usar D7 (*creo* que D7 permite llamar assemblys en .NET? o se me cruzaron los cables con lo nuevo de D9?)

En ultimas, la facil es que te la pasen como objeto COM..
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 06-10-2004
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
pues si, creo que si se hace. Se necesita un wrapper de win32 (com) al assembly de net. La verdad nunca nunca lo he hecho, pero si buscamos en la red podemos encontrar algunas referencias (no parece ser simple, pero tampoco complicado):

http://www.blong.com/Conferences/Bor...nterop.htm#CCW

http://www.blong.com/Conferences/Bor...InversePInvoke

Suerte!
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #4  
Antiguo 07-10-2004
walace_soy walace_soy is offline
Miembro
 
Registrado: may 2003
Ubicación: La Laguna (Tenerife)
Posts: 88
Poder: 21
walace_soy Va por buen camino
gracias, pero para simples????

Buenas, gracias a los que habeis contestado algo, pero tengo un problema, me acabo de dar cuenta que soy muy simple y la verdad no he entendido la mitad de las cosas que me habeis dicho.

Alguien podria simplificarlo y poner un ejemplo de codigo fuente???? vamos es que soy muy lerdo o vosotros mu tecnicos.

Gracias.
Responder Con Cita
  #5  
Antiguo 07-10-2004
Avatar de __hector
[__hector] __hector is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 1.075
Poder: 22
__hector Va por buen camino
Algo simple: no hay forma de que hagas eso que pretendes, sino quieres enredarte con algo complejo. Lamentablemente (y por suerte) una dll de .NET (assembly) no se parece en absoluto a lo que estabamos acostumbrados en Win32. Segun pudiste leer en uno de los enlaces que te pase, no es sino un lio lograr esa interaccion, se trata de exportar metodos, desensamblar/reensamblar la dll para poder utilizarla en aplicaciones Win32.

Piensa que una tiene los odiosos HRESULTS, P/Invoke y tipos de datos que no coinciden (quien ha intentado manejar un arreglo de variants de VB6 en delphi, como un arreglo?? Nunca lo he logrado) que vienen de win32 (por eso en las importaciones de dll externas en delphi tienes que especificar el metodo de importacion: stdcall, safecall, pascal, cdecl y otras que aparecen en la ayuda de delphi)

En NET todo eso viene resuelto: cada lenguaje tiene que implementar y regirse por el CLI y el CLS (Common Language Interface y Specification respectivamente), y el intercambio entre assemblies es: un ketchup.
__________________
Héctor Geraldino
Software Engineer
Responder Con Cita
  #6  
Antiguo 07-10-2004
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo simple es que te TIENEN que pasar la DLL de .NET en COM/ActiveX (o sea que se pueda crear con CreateOleObject() y eso es todo...
__________________
El malabarista.
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


La franja horaria es GMT +2. Ahora son las 11:37:28.


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