Du kannst den Header-Type und den Zeiger auf die Dump-Funktion in einem Record ablegen.
Delphi-Quellcode:
type
TDumpProc = procedure(dump:String);
TDumpRecord = record
htype : Integer;
p : TDumpProc;
end;
In deiner Aufgabenverteilerfunktion gibt es dann ein Konstantenarray:
Delphi-Quellcode:
const
dumplist:array[0..20] of TDumpRecord = (
(htype:0; p;DecodeTable0),
(htype:1; p;DecodeTable1),
);
begin
In einer Schleife suchst du den passenden htype raus und rufst die Procedur über den Zeiger auf.
Das lohnt aber nur, wenn du sehr viele Prozeduren hast.