Kozmetik Katmanı Temizleme
Kozmetik katmanı temizleme:
1) MapInfo Menüsü İle Temizleme:
Harita penceresine sağ tıklayın ve Clear Cosmetic Layer menüsünü seçin.
2) MapBasic Kodu İle Temizleme:
Kozmetik nesnelerin temizleneceği harita penceresini aktif yapın ve MapInfo’nun MapBasic penceresinde aşağıdaki satırı çalıştırın:
delete from WindowInfo(FrontWindow(), 10)
Diğer yol:
delete from LayerInfo(FrontWindow(), 0, 1)
Burada FrontWindow() yerine ilgili harita penceresinin Window ID sini de kullanabilirsiniz.
Not: Burada dikkat etmemiz gereken bir nokta var:
delete from WindowInfo(FrontWindow(), 10)
komutunu çalıştırırken eğer bir harita penceresi değil de browser penceresi aktif ise o pencereye ait tablonun tüm kayıtları silinir. Bu yüzden MapBasic programınızda kozmetik katmanı temizlemek için böyle bir kodu kullanacaksanız mutlaka aktif pencerenin bir harita penceresi olup olmadığını kontrol etmeniz gerekir. Aşağıdaki örnekte bu kontrol yapılmakta, sadece aktif pencere bir harita penceresi ise komut çalıştırılmaktadır:
include "mapbasic.def" declare sub main declare sub ClearCosteticLayer() sub main() call ClearCosteticLayer() end sub sub ClearCosteticLayer() if WindowInfo(FrontWindow(), WIN_INFO_TYPE) = WIN_MAPPER then delete from WindowInfo(FrontWindow(), 10) end if end sub
Eğer kozmetik katmanı temizlemek için diğer yöntemi kullanırsak yanlışlıkla browser penceresinin tablosunu silme gibi bir tehlike yoktur. Yani bir browser penceresi aktifken
delete from LayerInfo(FrontWindow(), 0, 1)
komutunu çalıştırırsak zaten “Error: Expecting Mapper Window” hatasını alırız. Bu yüzden bu komutları çalıştırırken her halükarda aktif pencerenin bir harita penceresi olduğunu kontrol etmemiz gerekir.