Nicht die Art und Weise, wie du deine Sprachenunterstützung einbaust, finde ich schlecht, sondern wie du die
DLL-Funktionen implementiert hast.
Selbst die
WinAPI liefert keine Records als Rückgabewert (Result) einer Funktion, sondern es wird ein Parameter an die Funktion übergeben, der von der Funktion beschrieben wird.
Um das ganze im Quellcode auszudrücken:
Delphi-Quellcode:
procedure info(var re :TInfo) ;stdcall;
begin;
re.author := 'Dominik Bruhn';
re.name := 'German / Deutsch';
end;
procedure language(var re: TLanguage; stdcall;
begin;
re.opentermset := 'Termset öffnen';
re.newtermset := 'Neues Termset';
end;
und dann im Hauptprogramm:
Delphi-Quellcode:
TDllLanguage = procedure(var re: TLanguage); stdcall;
TDllInfo = procedure(var re: TInfo); stdcall;