Hello,
when using Disk cache for Image Tiles, and the cache folder already has items, TdxMapControlDiskCacheMap.Create does load all existing items by calling LoadItems but does not initialize it's FSize member.
==> the map always reports a Size which is lower than the real total size of cached tiles.
It can even report a negative size if many tiles are deleted because of the age limit.
My patch : (unit dxMapControlDiskCache.pas)
a) In the TdxMapControlDiskCacheMap.Create constructor :
add "FSize := 0;" before potentially loading items
b) In procedure TdxMapControlDiskCacheMap.LoadItems :
add a cache iItem variable : "AItem: TdxMapControlCacheMapItem"
add "Inc(FSize, AItem.Size);" logic in the loading loop
Hello Eric,
Thank you for your valuable research. It seems that you are right. I have forwarded this ticket to our developers for fixing the issue.
Hi Paulo, you're welcome.
I have other questions about disk cache for MapControl but I'll open another ticket for that.
Eric