Force Napisano Maj 13, 2008 Zgłoś Share Napisano Maj 13, 2008 Czasami Toster piszę, że na coś wpadł i że się tym chwali aby inni nie męczyli się, to ja tak też robię Otóż opisze jaki problem miałem (czyt. skopiuje se ze swojej strony): używam rtti do pobierania zmiennych z klasy, dowolnego typu (w sumie to: stringi, klasy, integery i enumy) i jak mam, że zmienna jest tkEnumeration to mnie ciekawiło jak wylistować jakie może przyjąć wartości ten enuma. Zajęło mi to ponad 2 tygodnie (choć większość czasu przeleżałem) i znalazłem tylko jak wylistować jak znam typ enuma i pobieram z niego Low i High, ale nie o to chodziło, tak czy siak wytrzasnąłem jakoś jak to zrobić, oto kod: KOD var PropInfo : PPropInfo; // To PropInfo naszej zmiennej z klasy TypeData: PTypeData; PickList : TStringList;// Tu będzie wszystko wylistowane (..) TypeData := GetTypeData(PropInfo^.PropType^); for j := TypeData2.MinValue to TypeData2.MaxValue do PickList.Add(GetEnumName(TypeData^.BaseType^,j)); Niby da się domyślić, ale mi zajęło trochę czasu, zwłaszcza, że ma być BaseType, a nie np. CompType jak często widziałem (przy ComType są errory przy wykonaniu). Takie małe coś, ale zrobiło mi dużo roboty, to aby inni się nie męczyli Baza tysięcy lotnisk: http://airportsbase.com Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.