Da kommt durchgehend nicht verfügbarer Wert für readInput raus
Ja ich hab's gesehen. Wenn ich readInput auswerten will, dann will Delphi den Funktionswert berechnen und erwartet deshalb Parameter... (wenn ich mich nicht voll täusche, dann war das bei viel früheren Versionen nicht so - vielleicht ist auch irgend eine "doofe" Einstellung der Grund...).
Aber: Den Funktionswert solltest du auch in "Result" finden.
Tipp: Du kannst den Funktionswert auch immer als Result := <wert> zurückgeben. Also so:
Delphi-Quellcode:
function readInput(var x, y: TSize; var cancel, bomb: Boolean): Boolean;
...
...
Result := ...
end;