Подскажите, плз.
Есть у меня тема, в которой одна линия. Соответственно в таблице аттрибутов одна запись типа Polyline, Id=0. Линия создана вручную. Хочу её перерисовать в своих координатах.
Делаю вот так:
l = PolyLine.Make({{p1,xlast@ylast}})
...
'изменения в main_line
MLsrc = SrcName.Make (projDir + "shapes\main_line.shp")
MainLineFTab = FTab.Make(MLsrc)
if (MainLineFTab.IsEditable.Not) then
MainLineFTab.SetEditable(TRUE)
MainLineFTab.StartEditingWithRecovery
MainLineFTab.SetValue(MainLineFTab.findField("Shape"), 0, l)
MainLineFTab.StopEditingWithRecovery(TRUE)
end
theView.Invalidate
После этого вроде бы должна на место старой линии встать новая, с координатами (p1,xlast@ylast) - точки имеют координаты в значениях проекции, т.е. ненулевые и не nil.
На самом деле просто стирается с вида старая линия, новая не рисуется. Если сделать экстент по этой теме, будет пустое место с масштабом 0. В таблице атрибутов, как и прежде, одна запись, ну это так и должно быть.
Кто-нибудь может сказать с определённостью, что не так? В другом проекте ТОЧНО такой же скрипт делает всё как надо... Может, тему как-то по-другому надо создать?