GetPropValue i klasy

0

Witam!

Przeszukuje listę komponentów i dla każdego komponentu sprawdzam, czy posiada właściwość CAPTION (za pomocą IsPublishedProp). Jak posiada - pobieram wartość tej właściwości za pomocą GetPropValue.

Niektóre jednak komponenty posiadają właściwości typu TStrings. I je również chciałem pobrać. Ich nazwy to: Captions. Sprawdzam więc, czy komponent zawiera właściwość Captions za pomocą IsPublishedProp, a następnie chcę pobrać wartość... i właśnie - jak? Bo GetPropValue('Captions') zwraca jakieś liczby. Jakby adres. Bo wsumie Captions do klasa. Ale nie da się tego rzutować na TStrings. Tzn. nie umiem (mi nie działa). Zapis: TStrings(GetPropValue(Komponent,'GetPropValue')).Text - nie idzie. Błąd rzutowania.

Doradzicie coś?

0

Sprawdź, czy ten typ to nie przypadkiem TStringList zamiast TStrings.

0

Jemu chyba chodzi o to, że kompilator nie może tego zrzutować i wywala błąd. Jeżeli GetPropValue zwraca integer (nie mogłem tej funkcji znaleźć w helpie :/ ) to spróbuj tak:

TStrings(Ptr(GetPropValue(Komponent,'GetPropValue'))).Text

1 użytkowników online, w tym zalogowanych: 0, gości: 1