Moin, irgendwie funktioniert das bei mir nicht.
Delphi-Quellcode:
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',
...
Zitat:
[Fehler] Unit1.pas(39): Bezeichner 'NSet' kann nicht exportiert werden
[Fehler] Unit1.pas(39): '=' erwartet, aber ';' gefunden
[Fehler] Unit1.pas(39): ';' erwartet, aber ')' gefunden
[Fehler] Unit1.pas(39): ';' erwartet, aber ',' gefunden
[Fehler] Unit1.pas(40): '=' erwartet, aber '(' gefunden
...
Mit oder ohne DefaultParams, mit oder ohne CONST/VAR, ..... immer wird gemeckert, sobald es vom overload ist.
Wobei der zweite Folgefehler ... das = also der DefaultParam ist nicht beim N:IInteger, sondern erst beim D:IInteger.
Ganz ohne Pamameterliste, kommt die erste Fehlermeldung erst nach dem Komma, was da ja auch OK ist.
Auch Overloaded über mehrere Units, wenn eine
Unit nur eine der Überladungen hat, dann hilft auch kein Namespace.
Am Liebsten hätte ich die
DCU gern zur OBJ gemacht, um sie im Delphi 11 direkt linken zu können. (aber das geht nur aus einer
PAS zu erzeugen)
Drum versuche ich das DECMath jetzt in eine
DLL zu packen.