Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-04-2008
jangel_ramirezm jangel_ramirezm is offline
Miembro
 
Registrado: ago 2007
Ubicación: León Gto. Mex.
Posts: 39
Poder: 0
jangel_ramirezm Va por buen camino
Error al Cargar una Dll de C#

Hola a todos de antemano gracias por su ayuda
el problema es este que quiero utilizar una Dll creadaa en C# (Voy empezando con esto de las Dll's) es una muy sencilla que suma 2 números este es el código de C#
Código:
namespace MathLibrary
{
  publicclassAdd
  {
    publicstaticInt32 Suma (int x, int y)
    {
      return(x+y );
    } 
  }
}
y aqui como la llamo con Delphi
Código Delphi [-]
function Suma(x,y:integer):integer; External 'MathLibrary.Dll' name 'Suma';
...
..
.
 
procedure TForm1.btnExecClick(Sender: TObject);
var x,y:integer;
begin
  x:=strtoint(txtX.text);
  y:=strtoint(txtY.Text );
  txtResultado.Text :=inttostr(Suma(x,y));

end;

y me Marca estos errores:
" Error en la aplicacion al inicializarse (0x000007b)"
" aplication-defined exception code(0xc000007b) at 0x76fd8fc7"
si alguno pudiera decirme en que estoy mal se lo agradeceria

Saludos a todos
Responder Con Cita
  #2  
Antiguo 12-04-2008
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
En la declaracion de la función en delphi ala final tienes que ponerle la directiva stdcall.

Con esto consigues que delphi intente pasarle los parametros a C en el orden correcto (standard call ) ya que si no se los pasa como si la dll fuera hecha en delphi.
Responder Con Cita
  #3  
Antiguo 12-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que no sé es si estamos hablando de utilizar una DLL escrita en C# desde Delphi para Win32. Si esto es así, me parece que no es posible. Otra cosa sería si usáramos Delphi para .NET. Es posible usar una DLL escrita en Delphi en algún lenguaje .NET, pero, si no me equivoco, no es posible utilizar DLLs escritas para .NET en un lenguaje como Delphi para Win32.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 14-04-2008
jangel_ramirezm jangel_ramirezm is offline
Miembro
 
Registrado: ago 2007
Ubicación: León Gto. Mex.
Posts: 39
Poder: 0
jangel_ramirezm Va por buen camino
hola buenos Dias por aquí:
pues ya le probé poniendole stdcall y sigue mandando el mismo error;
y como que me está convenciendo esos de que no se pueden utilizar dlls de C# en Delphi(pero le voy a seguir intentando un poco más); ya que he creado una en Delphi que si pude utilizar en C#.

gracias.
Responder Con Cita
  #5  
Antiguo 14-04-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En .NET (no sólo con C#) existe una especie de mecanismo que te permite trabajar con código "no manejado", pero, hasta donde yo llego, no existe nada que te permita trabajar en Delphi (para Win32) con DLLs (¿o ensamblados?) de .NET. Esto es lo que tengo entendido, ya digo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 14-04-2008
jangel_ramirezm jangel_ramirezm is offline
Miembro
 
Registrado: ago 2007
Ubicación: León Gto. Mex.
Posts: 39
Poder: 0
jangel_ramirezm Va por buen camino
me encontré este hilo:
http://www.clubdelphi.com/foros/arch...p/t-28818.html

donde dice que una de las formas es invocarla como COM+
y me surgio la duda de como hacerlo. (No se si esté permitido preguntarlo en este hilo) pero si alguin pudiera darme una ayudada con esto del COM+ se lo agradesco.

saludos.
Responder Con Cita
  #7  
Antiguo 15-04-2008
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
Cita:
Empezado por jangel_ramirezm Ver Mensaje
me encontré este hilo:
http://www.clubdelphi.com/foros/arch...p/t-28818.html

donde dice que una de las formas es invocarla como COM+
y me surgio la duda de como hacerlo. (No se si esté permitido preguntarlo en este hilo) pero si alguin pudiera darme una ayudada con esto del COM+ se lo agradesco.

saludos.
No me había ficjado que era c#.
Desde delphi no puedes llamar dll hechas en c#. Respecto a lo de utilizarlo como un objeto COM si se puedepero es un poco duro.
Hay una gente que ha desarrollado una solución para esto (componentes). La dirección es http://www.remobjects.com y el producto es Hydra 3.0 .
Este producto te permite enlazar programas win32 con programas .net .
Espero que te valga.
Responder Con Cita
  #8  
Antiguo 16-04-2008
jangel_ramirezm jangel_ramirezm is offline
Miembro
 
Registrado: ago 2007
Ubicación: León Gto. Mex.
Posts: 39
Poder: 0
jangel_ramirezm Va por buen camino
hola
Gracias por el Link, le voy a dar un vistazo haber que tal está.

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
Error al cargar sql bbjb SQL 4 10-02-2006 17:42:31
error al cargar mmsystem.dll i_berbeu API de Windows 0 10-02-2006 01:35:47
Error añ cargar un Datamodule con ADO poliburro Conexión con bases de datos 0 02-03-2005 22:55:36
Error al cargar la midas.dll sur-se Varios 3 18-03-2004 15:25:17
Error al cargar datos Humberto Pertuz Conexión con bases de datos 2 04-11-2003 21:49:24


La franja horaria es GMT +2. Ahora son las 02:43:47.


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