Пытаюсь в pascal (delphi), сделать консольное приложение. Которое обновит необходимый мне слой, точнее его тематическую раскраску.
пример кода, не понимаю почему не выполняется update раскраски.
Спасибо!
program Test;
{$APPTYPE CONSOLE}
uses
SysUtils,
ZuluOcx_TLB,
ZB_TLB;
const Layer=9;
var
MapCtrl :TMapCtrl;
MapPath :string;
i,buf,id,id_print :integer;
begin
try
MapPath:='---';// Подключаю карту
if MapPath>' ' then begin
MapCtrl:=TMapCtrl.Create(nil);
if MapCtrl.Map.Open(MapPath) then begin
for i := 1 to MapCtrl.Map.Layers.Item[Layer].Themes.Count do begin
buf:=i-1; //номер коллекции начинается с 0, поэтому уменьшаю
id:=MapCtrl.Map.Layers.Item[Layer].Themes.ThemeId[buf]; //нахожу id для номера темы из коллекции
id_print:=MapCtrl.Map.Layers.Item[Layer].Themes.ThemeFilterId[id]; // нахожу id ФИЛЬТРА ТЕМАТИЧЕСКОЙ РАСКРАСКИ
//MapCtrl.Map.Layers.Item[Layer].Themes.UpdateTheme(id);
//if id_print<>-1 then
writeln(MapCtrl.Map.Layers.Item[Layer].Themes.UpdateTheme(id)); // Тут всегда false не понимаю почему не хочет обновлять. Для найденного id тематической раскраски, пытаюсь обновить.
readln;
end;
end;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
пример кода, не понимаю почему не выполняется update раскраски.
Спасибо!
program Test;
{$APPTYPE CONSOLE}
uses
SysUtils,
ZuluOcx_TLB,
ZB_TLB;
const Layer=9;
var
MapCtrl :TMapCtrl;
MapPath :string;
i,buf,id,id_print :integer;
begin
try
MapPath:='---';// Подключаю карту
if MapPath>' ' then begin
MapCtrl:=TMapCtrl.Create(nil);
if MapCtrl.Map.Open(MapPath) then begin
for i := 1 to MapCtrl.Map.Layers.Item[Layer].Themes.Count do begin
buf:=i-1; //номер коллекции начинается с 0, поэтому уменьшаю
id:=MapCtrl.Map.Layers.Item[Layer].Themes.ThemeId[buf]; //нахожу id для номера темы из коллекции
id_print:=MapCtrl.Map.Layers.Item[Layer].Themes.ThemeFilterId[id]; // нахожу id ФИЛЬТРА ТЕМАТИЧЕСКОЙ РАСКРАСКИ
//MapCtrl.Map.Layers.Item[Layer].Themes.UpdateTheme(id);
//if id_print<>-1 then
writeln(MapCtrl.Map.Layers.Item[Layer].Themes.UpdateTheme(id)); // Тут всегда false не понимаю почему не хочет обновлять. Для найденного id тематической раскраски, пытаюсь обновить.
readln;
end;
end;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.