Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-03-2007
senda senda is offline
Miembro
 
Registrado: sep 2006
Posts: 48
Poder: 0
senda Va por buen camino
Siento no haber podido responder antes. Muchas gracias por las sugerencias, aunque tengo problemas con ellas. Apoyandome en las explicaciones de seoane y basti he conseguido crear suma.dll, pero (gracias a mi inexperiencia con Delphi) no soy capaz de llamarla desde un pequeño programita. Os adjunto el .pas
Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}



function Suma2(a, b : integer) : integer; stdcall; external 'suma.dll'  name 'Suma';
// name es opcional, sólo haría falta si el nombre en delphi y en C fuesen distintos.
// stdcall indica que la llamada no se hace en el formato Delphi, sino en el formato C (el usado por la mayoría de los lenguajes)  private

// llamada a la función
var
  n : integer;

begin
  n := Suma(3, 2);
  Suma2:=n;
end;


procedure TForm2.Button1Click(Sender: TObject);
begin
     Button1.Caption:=IntToStr(Suma2(5,6));
end.

end.
El compilador me dice que Suma no está declarado, por lo que asumo que no está cogiendo la dll, ¿me equivoco?
Responder Con Cita
  #2  
Antiguo 07-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Cita:
Empezado por senda
El compilador me dice que Suma no está declarado
Porque no lo esta. Tu estas declarando Suma2 no Suma
Código Delphi [-]
function Suma2(a, b : integer) : integer; stdcall; external 'suma.dll'  name 'Suma';

Por cierto, no entiendo para que usas esto:
Código Delphi [-]
// llamada a la función
var
  n : integer;

begin
  n := Suma(3, 2);
  Suma2:=n;
end;
Basti te lo ponía como un ejemplo, pero no hace falta que lo incluyas en tu programa
Responder Con Cita
  #3  
Antiguo 07-03-2007
senda senda is offline
Miembro
 
Registrado: sep 2006
Posts: 48
Poder: 0
senda Va por buen camino
Cita:
Empezado por seoane
Porque no lo esta. Tu estas declarando Suma2 no Suma

Por cierto, no entiendo para que usas esto:
Código Delphi [-]
// llamada a la función
var
  n : integer;

begin
  n := Suma(3, 2);
  Suma2:=n;
end;

Basti te lo ponía como un ejemplo, pero no hace falta que lo incluyas en tu programa
Vale entonces, creo que no lo he entendido. En la línea
Código Delphi [-]
  n := Suma(3, 2);
yo pensaba que se estaba llamando a la funcion implementada en C, pero por lo que veo, con la declaración
Código Delphi [-]
function Suma2(a, b : integer) : integer; stdcall; external 'suma.dll'  name 'Suma';
se supone que ya queda implícito, es decir, la función Suma2 ¿no necesita implementación? puesto que está implementada en suma.dll, ¿no?
Responder Con Cita
  #4  
Antiguo 07-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Exactamente , al declararla le estamos diciendo al compilador como es, donde esta, y con que nombre queremos llamarla, pero nada mas, la implementación ya esta dentro de la dll.
Responder Con Cita
  #5  
Antiguo 07-03-2007
senda senda is offline
Miembro
 
Registrado: sep 2006
Posts: 48
Poder: 0
senda Va por buen camino
Ok, perfecto (ya me funciona). Muchas gracias. Lo había entendido mal.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Integración de php y delphi Will PHP 4 10-08-2006 23:13:48
Integración Google earth Luci Internet 5 21-11-2005 15:14:35
Integración de datos kalimero Firebird e Interbase 3 17-02-2005 22:03:38
Integracion de una Aplicacion de Flash 5.0, a una forma en Delphi 6... delphi_gama Gráficos 2 22-08-2003 00:41:17
integracion de Hardware y sofware beatrizmh Conexión con bases de datos 1 17-08-2003 09:25:28


La franja horaria es GMT +2. Ahora son las 18:41:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi