Natknąłem się na interesującą funkcję podczas używania Delhpi 10 Seattle. W Firedac, konkretnie w komponencie TFDConnection
, właściwość Params
ma pewną magię voodoo, która może dynamicznie pokazywać i ukrywać właściwości w IDE w locie, w zależności od wartości innej konkretnej właściwości. (Nie mam pojęcia, jak długo to trwa, odkąd zacząłem od Firedaca). Po zmianie właściwości DriverID
w TFDConnection.Params
, pozostałe właściwości w Params
pojawiają się w Inspektorze obiektów IDE, aby móc określić właściwości specyficzne dla sterownika.Dynamicznie wyświetlać/ukrywać właściwości w Inspektorze obiektów IDE?
Teraz zbadałem, jak to działa, i jest to garść definicji interfejsu, zakorzenienia z IFDStanDefinition
. Nie mogę zrozumieć, jak to faktycznie działa w IDE, poza tym, że jest zaangażowany TStringList
przy użyciu pary funkcji Nazwa/Wartość.
Chciałbym wprowadzić to samo w moim własnym komponencie, w szczególności TCollectionItem
ma właściwość ActionType
, która jest typu Enum. Chciałbym dynamicznie pokazać/ukryć właściwości w zależności od wybranej wartości dla tej właściwości.
Jak mogę uzyskać tę samą możliwość pokazywania/ukrywania właściwości w Inspektorze obiektów IDE w elemencie kolekcji mojego elementu?
Na marginesie, obawiam się, że część odpowiedzi jest taka, że oczekuje ona wszystkich wartości ciągu, sądząc po tym, jak wchodzisz w interakcję z tą właściwością Params
za pośrednictwem kodu.
Wszelkie postępy w tej sprawie? Nie mogę niczego przetestować, ponieważ jestem na wakacjach z tabletem (mogę teraz tylko czytać kod źródłowy starszej wersji FireDAC). Czy możesz zgłosić jakieś uwagi? Powyższy kod powinien być łatwo zarejestrowany jako składnik, aby spróbować ... – Victoria