Nejlepší odpověď HaLuMa , 06 duben 2024 - 16:04
Tak na to koukám, a je to trochu zašmodrchané. Ono se totiž nefiltruje podle GUI, ale podle interního instance objektu typu TGeoFilter. Jakmile chceš ten filtr editovat, tak se nahraje do GUI, ty ho ručně změníš, a pak se zase nahraje zpět z GUI do té instance, se kterou se pracuje.
Ty sis ale vytvořil svoji vlastní instanci TGeoFilter, zatímco zbytek Geogetu při editaci i filtrování používá jinou instanci. Proto tam ty změny nevidíš.
Tu interní filtrovací instanci máš ve skriptech dostupnou přes proměnnou Geoget_GUIfilter
Takže by mělo stačit jen:
ShowMessage('DistanceValue je ' + FlToStr(Geoget_GUIfilter.DistanceValue)); // "DistanceValue je 25" Geoget_GUIfilter.DistanceValue := 2.0; ShowMessage('DistanceValue je ' + FlToStr(Geoget_GUIfilter.DistanceValue)); // "DistanceValue je 2"
Tedy instanci nevytvářet, už tam je. A to nahravani do GUI by nemelo byt potřeba, to by se melo zavolat samo když se na filtr podivas. A filtrovani by melo jet podle toho, co je v teto instanci nastaveno.
Jen bacha na přepnuti filtru, to obsah teto instance prepise podle noveho filtru.