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
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