Ja, das ist theoretisch möglich indem man vorher den Typ in einen Integer wandelt:
variant_variable[0] := Integer(Panel5);
Später muss man dann den Typ wieder auf die richtige Klasse casten:
(TObject(variant_variable[0]) as TPanel).visible := True;
Allerdings gibt es in Delphi bessere Möglichkeiten.
man kann z.B.
dynamische Arrays benützen:
Delphi-Quellcode:
type
TObjArray = array of TObject;
TComponentArray = array of TComponent;
TControlArray = array of TControl;
Je genauer man die Klassenfamilie eingrenzt, umso besser.
Noch besser ist es, Objekte in einer
TObjectList abzulegen.
Listen sind leichter zu verwalten als dynamische Arrays.
Wenn du mit den Objekten über Prozessgrenzen hinweg gehen möchtest,
dann muss man mit Interfaces (IUnknown bzw. IDispatch) arbeiten.