Hi,
ich bin gerade drüber mir eine "Multi-Event-Liste" zu bauen, die verschiedene Event-Typen mehrfach
speichert und ggf. auch ausführt.
Delphi-Quellcode:
TYPE
PEventEntry = ^TEventEntry;
TEventEntry = record
method : TMethod;
ident : widestring;
end;
TIndexArray = array of Integer;
TEventList = Class(TObject)
private
flist : TList;
protected
procedure Clear;
function indexOf(value:TMethod;ident:widestring):integer;
public
Constructor Create;
Destructor Destroy;override;
Procedure Add(value:TMethod;ident:widestring);
procedure Del(value:TMethod;ident:widestring);
function getIdentCount(ident:widestring):integer;
function getIdentIndexs(ident:widestring):TIndexArray;
function getMethodByIdent(idx:integer;ident:widestring):TMethod;
published
End;
Nun würd ich gerne das ansprechen (Auslösen quasi) der einzelnen Eventhandler-Typen ebenfalls in die Liste verlagern (abfolge is ja immer gleich, nur die Parameter sind unterschiedlich).
Und genau da häng ich im Moment.
Ich würde das ganze gerne in form: eventlist.execute('TMyEventType',[param1,param2]) aufrufen.
TMethod als solches kennt aber keine Parameter, und den Typ des Events hab ich (im Moment) nur als String, so das ich hier auch nicht casten kann.
Hat jemand einen Lösungsansatz oder sowas für das Problem ?