User Tools

Site Tools


readme:knownissues:common

Common

Legend control

To drag a layer on the legend control, you must first click or tap its name on the control, hold for about 1 second to initialise dragging, then move the position up or down. Without this change, a layer can be moved accidentally.

Slow opening of project files

Opening complicated .ttkgp can be significantly slower than in DK10. The obsolete .ttkgp format is supported for compatibility purposes only and is not optimised. We strongly recommend converting a project to a new .ttkproject file, which is much faster. Some new features are also supported only by a new format.

Sqlite database lock

According to SQLite3 locking reference after the start of the transaction, a SHARED lock will be acquired when the first SELECT statement is executed. Shared lock means that the database may be read but not written! A RESERVED lock will be acquired when the first INSERT, UPDATE, or DELETE statement is executed. The SQLite may inform us that the database is locked when we are trying to update, delete or insert while another select is in progress. The solution to this problem is :

  • close active select statement before any write operation
  • use WAL mode (reading and writing can proceed concurrently) by executing PRAGMA journal_mode=WAL

Layer manipulation

Do not manipulate Items directly. Use viewer methods and properties, such as: Open(), Close(), Add(), Delete(), Move(), and ZOrder.

Particularly calling Items.Clear() will not properly release layers. Instead, just call viewer.Close() method.

TGIS_ViewerBmp

Calling Draw can be slower than expected because any other operation like zoom change etc also draws the map. This control has the same flow as TGIS_ViewerWnd. Operations like FullExtent, VisibleExtent, Zoom change or InvalidateWholeMap will invalidate the content. Operations can be group together with Lock..Unlock to avoid unnecessary updates. Calling Draw() should be limited only to very specific needs when drawing out-of-the-sequence is required. For a normal use calling InvalidateWholeMap to redraw the content is a recommended way.

2019/12/13 10:00