About the author
In this article, Scott Water pointed out that you can instantiate an object using generics.
For everyone out there who didn't know, you can already accomplish this, back in Delphi 1! It's called class referencing. For those of you C# people, you can find this in the Delphi Language Reference under “Constructors and class references”. This appeared in the Delphi 5 help.
type TControlClass = class of TControl;function CreateControl(ControlClass: TControlClass; const ControlName: string; X, Y, W, H: Integer): TControl;begin Result := ControlClass.Create(MainForm); with Result do begin Parent := MainForm; Name := ControlName; SetBounds(X, Y, W, H); Visible := True; end;end;
CreateControl(TEdit, 'Edit1', 10, 10, 100, 20);