Jap...das geht
Einfach mal nach dem Stichwort "Callback" suchen
Die Methode über Callbacks hat den "Nachteil" das du eine fixe Paremterliste für alle Prozeduren hast.
Innerhalb eines Objektes brauchst du die Prozedur aber nicht mal übergeben..schließlich kennst du die einzelnen Prozeduren, die je nach Status aufgerufen werden sollten.
Evtl. wär auch das ein Ansatz:
Delphi-Quellcode:
Type
TCallback = Procedure (Parameter1:string);
TStatus = (sStatus1,sStatus2,sStatus3);
Procedure Callback1(param1:string);
begin
:
end;
Procedure Callback2(param1:string);
begin
:
end;
Procedure CallBack3(Param1:string);
begin
:
end;
const
TCalls : array[TStatus] of TCallback = (
@Callback1,@Callback2,@Callback3
);
Procedure CheckState(aState:TStatus);
begin
TCalls[aState]('Was auch immer');
end;
Hab das jetzt nicht ausprobiert ob das so geht, aber vom Prinzip her sollte es gehen.