В первом примере, когда создаете наследника какого-либо класса (в вашем случае TObject), не забывайте наследовать параметры от родительского класса и переопределять базовые методы
Constructor Create(NewId:integer;NewNGP:string); overload;
constructor MyType.Create(NewId:integer;NewNGP:string);
Var RectForButt:TRectangle;
begin
inherited Create;
......