Wofür braucht du überhaupt die Property "Num"? Die erscheint mir eher redundant, und gerade wenn sie mit dem Index in der Liste immer übereinstimmen muss, auch aufwändig zu pflegen (Man müsste nach jedem Insert in die Liste ggf. alle Buttons anpassen).
Soweit ich deinen (zugegebenermaßen recht eigentümlichen) Code verstehe, willst du doch nicht mehr, als einfach alle Buttons in eine ungeordnete Sammlug werfen. Dann kannst du die doch einfach in die Liste Adden, der Index (also "Num") ergibt sich dann ohnehin nachher implizit über seine Position in der Liste. Warum das gehuddel?
Eine Liste speichert ansonten immer auch nur Referenzen auf Objekte.
Delphi-Quellcode:
var
myInstance: TMyClass;
aList: TObjectList;
begin
aList := TObjectList.Create;
myInstance := TMyClass.Create;
aList.Add(myInstance);
// Folgende Zugriffe sind dann vollständig identisch:
myInstance.SomeProperty := 'Foo';
TMyClass(aList[0]).SomeProperty := 'Foo';
end;
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)