Ich kann da so wirklich keinen Sinn erkennen...
Weshalb nimmt deine Funktion einen Parameter an, obwohl du gar keinen übergibst, ändert temporär dessen Wert und setzt dann aber keinen Rückgabewert, obwohl anscheinend einer erwartet wird?
Entweder nimmst du eine Adresse entgegen und veränderst den Wert an dieser (sprich: dein Parameter-Label entspricht einem Pointer)
oder du gibst einfach einen Wert zurück:
Code:
procedure TestG (); export;
begin
Result := 15;
end;