Wywołanie procedury przekazanej jako typ generyczny

0
type
  TMultiEvent<TEvent> = class
  private
    fEvent : TEvent; // docelowo lista Eventów
  public
    procedure add(arg: TEvent);  // dodaje event do listy
    procedure execute();  // wywoluje wszystkie przypisane eventy
  end;

implementation

procedure TMultiEvent.add(arg: TEvent);
begin
  fEvent := arg;
end;

procedure TMultiEvent.execute;
begin
  fEvent; // error here
end;    

do klasy przekazywany bedzie typ eventu np:

TOnSmthg = procedure(arg: integer);

jak wywołać procedure któa siedzi pod fEvent?

0

A gdy będzie parametr to co?
Nie mozesz tak zrobić - musiałbyś napisać klasę w oparciu o to, że TEvent to będzie po prostu procedure.

1 użytkowników online, w tym zalogowanych: 0, gości: 1