Mit geschachtelten Funktionen lässt sich das "Problem" lösen:
Delphi-Quellcode:
procedure AllInOneHandler(input1: Integer; input2: TSomeClass; out output: Double);
procedure proc1; // hat Zugriff auf die Parameter der äusseren Funktion oder Methode
begin
end;
procedure proc2; // so was von dry - dryer geht's nicht
begin
end;
begin
if ankommendesPaket.commandStr = 'zooBesuch' then
proc1
else if ankommendesPaket.commandStr = 'zirkusBesuch' then
proc2
else
...
end;