Verzija 4.1.4.4
Vsebina
Popravki avtomatsko sporočenih napak
- Access violation 00000078 v Debug oknu, kadar je bil v watches vrednost polja, pa napaka ni bila vezana na plast.
- Access violation 000002ED v konzoli, če je bil v drevesu izbran objekt, ki je bil zbrisan.
- Class TLabel not found Ob dodajanju novega objekta v raziskovalcu.
- List index out of bounds v urejevalniku podatkovnih plasti ob urejanju lastnosti.
- This entity is not allowed in this layer, pri izvozu poligonov v ArcInfo Generate format.
- V maski se je lahko prilepil zapis iz odložišča na neobstoječemu zapizu, kar je povzročilo kar nekaj Access violationov. Sedaj se to sploh ne da več.
- V maski se je lahko prilepil zapis iz odložišča z prepovedano topologijo, kar je povzročilo message Ta tip entitete ni dovoljen v tej podatkovni plasti. Sedaj se to sploh ne da več.
- Pri zapiranju programa se je lahko zapiranje prekinilo zaradi Tiskanja v teku oz. potrebe po shranjevanju nekega objekta v urejevalniku. V tem primeru je lahko aplikacija prenehala delovati (zginili so meniji in cel kup error sporočil)
- Pri zapiranju programa je prišlo do napak, če nek vnos koordinate (inputwindow,...) ni bil zaključen. Sedaj da program navodilo, da je potrebno prekiniti operacijo pred zaključkom programa.
- Pri urejanju topologije je prišlo do napake, če je med vrivanjem noda na polilinijo kak drug uporabnik optimiziral plast.
- List index out of bounds (2) pri nepopolno definiranih virtualnih poljih v plasti.
- TPolygon: Index out of bounds pri razbijanju topologije, če poligon ni imel točk. Popravljeno.
- List index out of bounds (), pri premiku teme za zadnjo temo, če je imela leta odprto legendo.
- Access violationi po brisanju objekta, ki ga je neka plast uporabljala za relacije. To je bila kar nadležna napaka, ker je bilo potrebno reštartati SDMS.
Razni popravki
- Včasih v večuporabniškem okolju v raziskovalcu ni hotel zbrisati podatkovne plasti.
- Po transformacijah nova plast ni imela pravilno nastavljenih IDjev.
- Funkcija Pos ni ignorirala velike in male črke. Popravljeno.
- Pri Basic napaki v dokumentu se ni dalo enostavno popraviti napake. Popravljeno.
- Po uvedbi statistike uporabe je program rabil veliko časa, da se je zaprl. Popravljeno. Tudi malenkost spremenjena struktura Usage datoteke.
- Undo buffer se ob ukazu Merge ni spraznil. Popravljeno.
- Pri napakah v temah, ki so imele obliko result =, se obvestila o leteh niso pravilno pošiljala administratorju sistema.
- Nastavitve snapa so se občasno zbrisale.
- Pri izvozu v SHP se je koordinata vedno izvozila. Sedaj se le če je vključena.
- V predlogi izrisa je za celico tipa Legenda - tekst možno spremeniti tekst ABC v karkoli.
- Popravljen paste polja v urejevalniku podatkovnih plasti. Sedaj dela tudi paste za zadnjim poljem.
- Po spremembi vsebine celice v urejevalniku podatkovnih plasti je bilo pred zapiranjem urejevalnika potrebno zamenjati celico, sicer te spremembe program ni posnel. Sedaj je to popravljeno in se avtomatsko posname tudi editirana celica.
- Pri uvozu iz DXFa se v primeru uvažanja nedovoljenih entitet ne zgodi več exception, ampak javi napake v text datoteki, ostalo pa uvozi
- Na novo smo napisali hint engine za vnose lastnosti, tako da v ima ujemanje teksta v celoti prednost pred delnim ujemanjem. Tudi dodano ujemanje po delu teksta in ne samo od začetka, kot je bilo do sedaj. Torej laho se napiše 60 in bo izbral siva (60%). Pri delnem ujemanju ima prednost tekst, ki se ujema bolj od začetka. V primeru večih ujemanj pa vrne najkrajši tekst ujemanja.
- Poravnave za checkbox v maski niso delovale pravilno. Popravljeno.
- Pri predlogi izrisa ni delalo iskanje po imenu slike na predlogi. Popravljeno.
- Pri grajenju topologije popravljen primer, ko je notranji poligon, ki se je v eni točki dotikal zunanjega včasih naredil kot otok in ne kot sosednja poligona. Popravljeno. Napaka se ni nikjer odražala, razen v primeru združevanja poligonov, ko taka poligona ni združil.
- Pri senčenju Grida (DMR) se sedaj senči iz severovzhoda.
- Funkcija Merge ni združila poligonov v primerih trojnih otokov.
- Dodana možnost uvoza večih datotek naenkrat. To se da narediti samo iz basica in sicer tako, da v import.DataFileName in import.TopologyFileName nastavimo vse datoteke za uvoz v posameznih vrsticah. Pri velikih uvozih (100 in več datotek) dela zadeva veliko hitreje, ker ni potrebe po optimizaciji po vsaki datoteki.
- Zelo pohitreno grupiranje podatkov pri več kot 200000 zapisov. Se odraža pri funkcijah TLayer.GroupBy in TLayer.GroupByLists, ter v maski pri operacijah nad listo (odstrani podvojene zapise,...)
- Pri razbijanju in grajenju topologije bolj striktno nastavljanje dovoljenih entitet. Vrivanje sečišč pri Grajenju topologije oz. Presekih plasti je lahko v posebnih primerih (več novih točk na eni liniji) zaradi zaokroževanja naredil centimetersko napako. Sedaj smo povečali natančnost med računanjem in do te napake ne more več priti.
- Usage datoteke prestavljene na mapo Logs/Usage in v imenu je ime uporabnika namesto imena računalnika. Tudi malo popravljeno štetje uporabe objektov.
Basic
InInputCoor
Dodana nova funkcija:
InInputCoor As Boolean
Vrne True, če je aplikacija v eni izmed InputCoor zank. Uporabno pred menjavo menijev oz. orodjarn, da se preveri če ni slučajno uporabnik v kakšnem vnosu in se še izvaja kakšna operacija v objektu, ki bo ukinjen. Primer uporabe:
Sub dngnDoEditModule (S As String)
If InInputCoor Then
Message ('Pozor', 'Pred izvajanjem te operacije je potrebno zaključiti trenutni vnos.')
Exit
EndIf
Menulist.RemoveObject ([$0BDA4349;dnDKN tlb])
...
TLayer
Dodana metoda:
TLayer.TopologyBreakLines (Output As TLayer)
Razbije poligone na polilinje od tromeje do tromeje in ne prenaša podatkov.
TStringlist
Dodana metoda
TStringlist.Filter (S As String) As TStringList
ki Naredi novo listo in vanjo vstavi vse vrstice, ki vsebujejo tekst S.
TDataSet
Dodana lastnost
TDataSet.Lookup As String
Ki omogoča definicijo lookup nizov podatkov iz basica.
TExport
Dodane lastnosti razredu TExport
TExport.ExpCoordinate As Boolean TExport.ExpTopology As Boolean TExport.ExpRecordID As Boolean
za nastavljanje izvoza v basicu.
SetJpegQuality
Dodana funkcija za nastavljanje kvalitete jpeg filea.
SetJpegQuality (Percent As Long)
Preverjanje napak
- Pri preverjanju napak v strukturi datotek dodano preverjanje za prazen niz podatkov. V primeru, da je cel niz prazen, se potem ne izvaja preverjanje tipov polij.
- Pri preverjanju napak za masko v podatkovni plasti dodano preverjanje tipov celic glede na tip polja. Določene kombinacije niso dovoljene.
- Pri preverjanju napak v strukturi datotek dodano preverjanje za prazen niz podatkov. V primeru, da je cel niz prazen, se potem ne izvaja preverjanje tipov polij.
Filter
Za metode AsString, AsNumber in AsBoolean je pri filtriranju podatkov spremenjeno delovanje. Sedaj najde podatek tudi znotraj večkratnih nizov podatkov kar pomeni, da ni več potrebno uporabljati AsLines in like.
Primer delovanja: Predpostavimo, da ima zapis en enojni niz podatkov (a) in tri večkratne (b, c in d). Niz a ima en zapis (1), niz b tri (2,3,4), niz c dva (5,6) niz d pa nobenega.
a b c d 1 2 5 3 6 4
Izvajanje pogoja se izvaja glede na uporabo polja iz niza podatkov. Prvi primer ima samo polje iz enkratnega niza (a). V tem primeru se izvede pogoj z zapisi 1, 2 in 5. Če imamo pogoj v večkratnem nizu, pa se pogoj večkrat izračunava in sicer za vsako kombinacijo zapisov podatkov. Če pa imamo pogoj v večih večkratnih nizih (tretji in četrti primer) pa se tudi prveri za vse možne kombinacije zapisov podatkov. Število preverjanj je produkt števila zapisov v posameznem nizu. Posebaj bi opozoril na niz d, ki nima nobenega podatka. Če se ta niz pojavi v pogoju, ne izvaja nobenega preverjanja, niti [d].AsString = "" in ta zapis v nobenem primeru ne ustreza pogoju. Iskanje nevnešenih nizov se lahko izvede s pogojem [d].LineCount = 0.
Pogoj Star način Nov način a 125 125 ab 125 125,135,145 ac 125 125,126 bc 125 125,126,135,136,145,146 acb 125 125,126,135,136,145,146 d 125 nič abcd 125 nič
Maska
Pri maski dodana opcija ohrani podvojene zapise. Tako da so sedaj 4 operacije nad listo:
- Remove unique records from record list (ABBCCC>BBCCC)
- Remove duplicate records from record list (ABBCCC>A)
- Keeps distinct values in record list (ABBCCC>ABC)
- Keeps only duplicate values in record list (ABBCCC>BCC)