Exportieren kann man nur einfache Funktionen. Du musst also ein Funktions-
API stricken. Das sollte einfach sein, da du ja nur genau ein Objekt in einer globalen Variablen hast.
Delphi-Quellcode:
library DLL;
uses
SysUtils,
Classes;
var
Geraet: TGeraet;
function Seriennummer: Cardinal;
begin
Result := Geraet.Seriennummer;
end;
// wie man das Objekt beim Entladen der DLL brav freigibt
procedure LibExit(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH
then
FreeAndNil(Geraet);
end;
exports
Seriennummer;
begin
DLLProc := LibExit;
Geraet := TGeraet.Create;
end