About the author
What is the difference in the code shown below in Delphi 7, and Delphi 8?
program Project2; {$APPTYPE CONSOLE} uses SysUtils; type TSome = procedure of object; TSomeObj = class private FOnSome: TSome; procedure MySome1; public procedure DoSome; property OnSome: TSome read FOnSome write FOnSome; end; { TSomeObj } procedure TSomeObj.DoSome; begin if Assigned(FOnSome) then FOnSome; end; procedure TSomeObj.MySome1; begin end; procedure OutsideSome1; begin end; var SomeObj: TSomeObj; begin SomeObj := TSomeObj.Create; SomeObj.OnSome := OutsideSome1; end.
This article discusses the new Delphi 8 property access specifiers.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.