Ver Mensaje Individual
  #2  
Antiguo 09-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola webmasterplc.

No es muy complicado, declara la DLL de este modo:
Código Delphi [-]
library FuncFechDLL; // (el nombre que desees)

{$R *.res}

uses
  SysUtils, Classes, 
  Controls, DateUtils; // las necesita tu código

// Aquí pone el código de tu función (Fijate que cambié el resultado de string a PChar)
function AnosMesesDias(fechaInicio: TDate; fechaFin: TDate) : PChar; stdcall;
var
  anos, meses, dias, m : Integer;
begin
  ...
  Result:= PChar(IntToStr(anos)+' años, '+IntToStr(meses)+' meses, '+IntToStr(dias)+' días');
end;

exports AnosMesesDias;

begin

end.
y compilala.

Ejemplo de uso:
Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
  public
  end;

var
  Form1: TForm1;

implementation {$R *.dfm}

// Esta linea declara a AnosMesesDias como una función  
// externa que deberá ser buscada en la DLL
function AnosMesesDias(fechaInicio: TDate; fechaFin: TDate): PChar; 
  stdcall external 'FuncFechDLL.dll'

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption:= AnosMesesDias(StrToDate('15/08/2003'), StrToDate('09/04/2014'));
end;
El ejemplo supone la dll en el mismo sitio que el ejecutable, también podes ubicarla en la ruta del sistema para que pueda ser accedida desde cualquier ruta.

No voy a explayarme mas en detalles ya que desde hace años exísten muchos artículos, tutoriales y videos que lo hacen de manera excelente. Te pongo algunos enlaces externos ya que supongo que has buscado en nuestros foros y no hallaste al respecto...
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita