[QUOTE]
Oleg Belenkov написал:
mapGetRscObjectCodeByNumber[/QUOTE]
procedure Tform_main.SHP2Click(Sender: TObject);
Var
error : Pinteger;
hshpload : THANDLE;
setting : PSETTING;
res : integer;
ExNum : integer;
begin
error := nil;
setting := nil;
// Создать объект для импорта файлов SHP
// handle - идентификатор получателя сообщений WM_ERROR и WM_OBJECT
// mapname - имя паспорта создаваемой\обновляемой карты
// rscname - имя классификатора создаваемой карты или 0 (если имя не задано, то карта обновляется)
// name - имя района (листа) карты
// mapreg, ellparm, datumparm - параметры системы координат исходных данных и создаваемой карты (если карта создается)
// nomenclature - номенклатура листа или 0 (используется и для формирования имени файлов листов карт с рамкой)
// recitem - список обрабатываемых атрибутов (имена полей DBF и их ключи в классификаторе - если они разные)
// semitem - список обрабатываемых полей атрибутов или 0 (если нужно обрабатывать не все поля DBF)
// ismap - признак создания карты (1- многолистовая карта MAP, иначе 0)
// epsgcode - код системы координат, в которой создается карта или 0 (если система совпадает с системой исходных данных)
// При ошибке возвращает ноль
ShowMessage ('alias = '+alias);
listname := form_main.mvMap.MapName;
ShowMessage ('listname = '+listname);
hshpload := shpShapeProcInit(form_main.Handle,PChar(alias),nil,PChar(listname),nil,nil,nil,nil,0,nil,0);
ShowMessage ('hshpload = '+IntToStr(hshpload));
// Запросить внутренний код (порядковый номер) объекта
// по внешнему коду ; локализации и порядковому номеру среди аналогичных
// объектов(с 1)
// hRsc - идентификатор классификатора карты
// При ошибке возвращает ноль
ExNum := mapGetRscObjectCodeByNumber(form_main.MapRsc1.RscHandle,10000051,1,1);
ShowMessage ('ExNum = '+IntToStr(ExNum));
// Загрузка SHP-файла
// hshpload - идентификатор объекта загрузки SHP
// shpname - имя входного файла SHP
// type - тип объекта в наборе данных
// code - код зарегистрированного объекта
// setting - указатель на структуру настроек диалога SETTING (myform.h)
// error - код ошибки при создании объектов
// При ошибке возвращает ноль
res := shpShapeProcLoad(hshpload,PChar('D:\2\ZonesDop_Прилегающая территория.shp'),ExNum, setting,error);
ShowMessage ('res = '+IntToStr(res));
end;
Да, сейчас всё хорошо.
Олег Валентинович, какой функцией можно
освободить объект загрузки SHP?