Das ganze mit ExecuteFunction funktioniert. Das Problem lag woanders: Da in meiner
Unit kein begin...end. - Block war, konnte er die Funktion nicht aufrufen. In den Compiler-Optionen muss icAllowNoBegin und icAllowNoEnd gesetzt sein oder der Block eingefügt werden, so dass das Skript dann so aussieht:
Delphi-Quellcode:
function TuWas(): String;
begin
Result := 'Was';
end;
// Und jetzt der leere Block
begin
end.