Why is “Self” assignable in Delphi?

This code in a GUI application compiles and runs (tested with Delphi 6 and 2009):

procedure TForm1.Button1Click(Sender: TObject);
begin
Self := TForm1.Create(Owner);
end;

Questions that come to mind:

  • why is Self writeable and not read-only?
  • in which situations could this be useful?

If you know the answer, I would be happy if you post it here or at stackoverflow.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s