Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Error al Cargar una Dll de C# (https://www.clubdelphi.com/foros/showthread.php?t=55274)

jangel_ramirezm 12-04-2008 01:58:46

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

avmm2004 12-04-2008 18:33:42

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.

dec 12-04-2008 18:46:32

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.

jangel_ramirezm 14-04-2008 17:41:30

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.

dec 14-04-2008 18:13:07

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.

jangel_ramirezm 14-04-2008 18:28:20

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.

avmm2004 15-04-2008 11:26:45

Cita:

Empezado por jangel_ramirezm (Mensaje 279943)
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.

jangel_ramirezm 16-04-2008 00:28:43

hola
Gracias por el Link, le voy a dar un vistazo haber que tal está.

Saludos


La franja horaria es GMT +2. Ahora son las 05:49:09.

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