Weil ein TNotifyEvent folgendermaßen definiert ist:
Delphi-Quellcode:
type
TNotifyEvent = procedure(Sender: TObject) of object;
Das bedeutet einem TNotifyEvent kann man (bis auf den Sender) keine weiteren Werte übergeben.
Wenn du dem Handler des Events zusätzliche Daten zur Verfügung stellen willst (wie z.B. den ProgressValue im 2. Beispiel) musst du einen eigenen Typ definieren mit den Parametern die du zusätzlich übergeben willst:
Delphi-Quellcode:
type
TMyProgressEvent = procedure(Sender: TObject; AProgressValue: Integer) of object; // Wir wollen AProgressValue zusätzlich mitgeben. Also brauchen wir einen eigenen Typen, weil TNotifyEvent das nicht unterstützt.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."