Google jest bezużyteczny dla tego rodzaju wyszukiwań, ponieważ dostajesz setki milionów wyników, absolutnie żadne z nich nie odnosi się do konkretnego pytania.Odsyłacz do klasy jako właściwość
Pytanie brzmi po prostu tak:
- Czy to możliwe, aby mieć obiekt referencyjny klasy w Delphi?
- Jeśli tak, w jaki sposób?
Oto co próbowałem ...
type
TMyObject = class
// ...
end;
TMyObjectClass = class of TMyObject
TMyObjectA = class(TMyObject)
// specifics here
end;
TMyObjectB =class(TMyObject)
// specifics here
end;
TMyComponent = class(TComponent)
private
FObjectType: TMyObjectClass;
published
property ObjectType: TMyObjectClass read FObjectType write FObjectType;
end;
Powyższy kod kompiluje grzywny, jednak inspektor Obiekt nie wykazują właściwość ObjectType
w ogóle.
Moim celem tutaj (jeśli jeszcze nie zgadłeś) jest uczynienie go tak, żebym mógł wybrać potomka klasy z konkretnej klasy bazowej, aby ten sam komponent zachowywał się w inny sposób.
Chcę zrobić to w ten sposób, aby komponent nie musiał bezpośrednio znać podklas (musi być w pełni modułowy).
Niech mi tylko zrobić ten bit jasne: nie mogę użyć enum wybierać pomiędzy typami podklasa jako składnik nie może bezpośrednio odwołuje się do typów podklasa (To nie jest po prostu możliwe w tym konkretnym przypadku)
W każdym razie ... z góry dzięki!
Inspektor obiektów nie wyświetla właściwości, ponieważ nie ma dla niej edytora zarejestrowanych właściwości. – kludg