Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.288 Beiträge
Delphi 12 Athens
|
AW: Delphi 7 DLL-Exports überladener Methoden?
10. Sep 2023, 09:54
und die D7-Hilfe sagt, dass es damals auch schon gehen sollte.
Also das compiliert hier unter D7:
Delphi-Quellcode:
library Project1;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
uses
SysUtils,
Classes;
{$R *.res}
type
IRational = interface
[' {4270A50C-2619-40F9-AAF8-2CCB6A67A423}']
end;
IInteger = interface
[' {0E5936CA-C257-4820-86E4-3B192133E8D6}']
end;
// procedure NSet(var A: IRational; const N: IInteger; const D: IInteger = nil);
procedure NSet( var A: IRational; const N: IInteger; const D: IInteger); overload;
begin
end;
procedure NSet( var A: IRational; const N: Integer; const D: Integer); overload;
begin
end;
procedure NSet( var A: IRational; const N: Int64; const D: Int64); overload;
begin
end;
procedure NSet( var A: IRational; const B: IRational); overload;
begin
end;
procedure NSet( var A: IRational; const B: Extended); overload;
begin
end;
exports
//NSet(var A: IRational; const N: IInteger; const D: IInteger = nil) name 'NSetIInt',
NSet( var A: IRational; const N: IInteger; const D: IInteger) name ' NSetIInt',
NSet( var A: IRational; const N: Integer; const D: Integer) name ' NSetInt',
NSet( var A: IRational; const N: Int64; const D: Int64) name ' NSetI64',
NSet( var A: IRational; const B: IRational) name ' NSetIRat',
NSet( var A: IRational; const B: Extended) name ' NSetExt';
begin
end.
|
|
Zitat
|