Валентинович.
Или я торможу, или функция баговая
--------------------------
Последовал Вашему 2-му варианту
переделан код вот так:
---------------------------------
function _SelectCopyObjects(FMap: HMAP; oCode,oLocal: integer):TIntArray;
var i :integer;
Obj : HObj;
FSel : HSelect;
begin
Finalize(result);
FSel := mapCreateMapSelectContext(FMap);
Obj:=mapCreateSiteObject(FMap,FMap,KM_IDFLOAT2,0);
// mapSelectLocal(FSel, -1,0);
i:=0;
mapSelectObject(FSel,mapGetRscObjectCodeByNumber(mapGetRscIdent(FMap,FMap),oCode, oLocal, 1),1);
while mapSeekSiteSelectObject(FMap,FMap,Obj, FSel, 4*Byte(i>0))<>0 do
begin
SetLenGth(result,LenGth(result)+1);
result[High(result)]:=mapObjectKey(Obj);
inc(i);
end;
mapDeleteSelectContext(FSel);
mapFreeObject(Obj);
end;
------------------
// Вызов
// A:=_SelectCopyObjects(MV.MapHandle, 45111000, OL_SQUARE); // кварталы (городские с Подольска 5 штук)
// Finalize(A);
-----------------------------
Карта у Вас на ящике
------------------
в случае с mapSelectLocal(FSel, -1,0); - на выходе 0 объектов
без mapSelectLocal - все объекты (включая озера)
------------------
Може чего то не доганяю ?