vdemidov писал(а):Вы не путайте. OnPrepareSubset вызывается в отдельном потоке после уведомления того о том что изменение было. Это уведомление выполняется в TVectorItemSubsetChangeableForMarksLayer.OnPosChange и TVectorItemSubsetChangeableForMarksLayer.OnMarksDbChange, а эти методы подвешены листенерами на события изменения отображаемого прямоугольника и изменение базы. Но вообще всему классу TVectorItemSubsetChangeableForMarksLayer не долго жить осталось - он будет заменен реализацией интерфейса IVectorTileMatrixChangeable.
Спасибо, вижу, там вызывается DoChangeNotify. Скажите, а как лучше сделать тогда свой класс, например, некий TCustomMarksProvider, для маркеров, чтобы также загружать и отображать и по изменению отображаемого прямоугольника и вручную (при любых изменениях), когда потребуется (используя TBitmapLayerProviderChangeableForMarksLayer). И при этом не зацепить реализации линеек, полигонов и пр. Одним словом, как в случае с треком ? По Вашему совету, когда был сделан наследник TChangeableWithSimpleLockBase, который хранил данные и передавался в TBitmapLayerProviderChangeableForGpsTrack.