Voor een project op 't werk had ik een 'multicast' event nodig waarbij meerdere functies aangeroepen worden als het event afgaat. Het resultaat is te vinden in het attachment. Het is geen 'rocket science', maar misschien heeft iemand er wat aan..
Een (niet bijzonder zinvol) voorbeeld van het gebruik ervan:
Het sneue aan het ding is uiteraard het verlies van je compile-time type-checkingCode:procedure TForm1.DoIets (const aData: array of const); begin ShowMessage ('DoeIets zegt : ' + aData[0].vPChar); end; procedure TForm1.DoNogIets(const aData: array of const); begin ShowMessage ('DoeNogIets zegt : ' + aData[0].vPChar); end; procedure TForm1.Test; var vEvent : TMultiEvent; begin vEvent := TMultiEvent.Create; try vEvent.RegisterHandler (DoIets); vEvent.RegisterHandler (DoNogIets); vEvent.TriggerEvent (['Hallo']); finally vEvent.Free; end; end;
Bookmarks