Ver Mensaje Individual
  #3  
Antiguo 24-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ya te tengo un ejemplo

En el dll:

Código Delphi [-]
function Suma(A, B: Integer): Integer; overload;
begin
  Result := A + B;
end;

function Suma(A, B, C: Integer): Integer; overload;
begin
  Result := A + B + C;
end;

exports
  // debes especificar los parámetros cuando exportas rutinas sobrecargadas
  Suma(A, B: Integer) name 'Suma1',
  Suma(A, B, C: Integer) name 'Suma2';

En la unidad que use la dll:

Código Delphi [-]
function Suma(A, B: Integer): Integer; external 'midll.dll' name 'Suma1'; overload;
function Suma(A, B, C: Integer): Integer; external 'midll.dll' name 'Suma2'; overload;

Intenté exportar las funciones sin cambiarles de nombre pero aunque compilaba bien los resultados no eran los esperados (la primera función devolvía basura).

Pero de esta forma puedes usar las rutinas sobrecargadas tanto en la misma dll como fuera de ella usando el mismo nombre.

// Saludos
Responder Con Cita