RUS  ENG 

Ошибка при создании IElement

Страницы: 1
RSS
Ошибка при создании IElement, Ошибка "EOleSysError Класс не зарегистрирован" при создании IElement при помощи CoElement.Create
 
Добрый день!
Возникла необходимость создать элемент слоя с определённым ID. Получаю ошбку EOleSysError "Класс не зарегистрирован".
Помогите пожалуйста найти решение проблемы.


procedure TfMain.Button2Click(Sender: TObject);
var
elem:IElement;
elemId,res:integer;
cont:IContour;
begin
elemId := strtoint(edElemId.Text);
cont:=CoContour.Create;
cont.AddPoint(StrToFloat(edRestX1.Text),StrToFloat(edRestY1.Text));
cont.AddPoint(StrToFloat(edRestX2.Text),StrToFloat(edRestY2.Text));
cont.AddPoint(StrToFloat(edRestX3.Text),StrToFloat(edRestY3.Text));
elem :=CoElement.Create; / /ОШИБКА "Класс не зарегистрирован"
elem.SetContour(cont);
elem.Set_type_(4);
elem.Set_Mode(1);

res := MapCtrlMain.Map.Layers.EditLayer.AddElementEx(elem,elemId,1);
ShowMessage(inttostr(res));
end;
 
Цитата
написал:
Добрый день!
Возникла необходимость создать элемент слоя с определённым ID. Получаю ошбку EOleSysError "Класс не зарегистрирован".
Помогите пожалуйста найти решение проблемы.
Добрый день. IElement создать как объект нельзя. Его можно только от слоя получить, как уже существующий объект.

Если нужно создать полигон, используйте Layer.AddContour
Если нужно задать нужный ID, используйте Layer.ChangeElemID
 
Огромное спасибо!
Страницы: 1