delphi+mapx,新手的简单问题:怎么我在一个图层上加feature,老是出错。。。

silverwonder 2002-09-06 09:58:47
怎么我在一个图层上加feature,老是出错?
这是我的代码:
procedure TForm1.Button4Click(Sender: TObject);
var obj:cmapxfeature;
newlayer:cmapxlayer;
begin
newlayer:=colayer.Create;
obj:=cofeature.create;
obj.Style:=Map1.DefaultStyle;
obj.Type_:= miFeatureTypeSymbol;
obj.Point.Set_(-100,34);
obj:=newlayer.addfeature(obj);
end;
我的本意是按一下按钮button4,就可以在我新建的图层newlayer上加一个feature。
编译没问题,可是运行时会出现EOleSysError异常‘没有注册类别’。
请问各位大侠,是怎么回事,帮我看看代码啊。

...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
silverwonder 2002-09-07
  • 打赏
  • 举报
回复
请大家看看我上那个代码的问题好吗?
silverwonder 2002-09-07
  • 打赏
  • 举报
回复
确实layer对象不能创建。那我把feature创建到已有图层上,该怎么样呢?
各位兄台,我的代码改成这样:

procedure TForm1.Button4Click(Sender: TObject);
var obj:cmapxfeature;
begin
obj:=cofeature.create;
obj.Attach(map1);
obj.Style:=Map1.DefaultStyle;
obj.Type_:= miFeatureTypeSymbol;
obj.Point.Set_(-100,34);
obj:=map1.Layers.Itme(1).AddFeature(obj);
end;

运行结果是当按button4的时候,会出现异常:unable to attatch feature to the map
silverwonder 2002-09-07
  • 打赏
  • 举报
回复
楼上老兄,那有没解决方法呢?
我用的才是3。5,很老的版本了。你的4。5是正版吗?
hks 2002-09-07
  • 打赏
  • 举报
回复
没有用的,在mapx中(我用的是4.5),有些对象是不能创建的。不幸的是,layer就是其中之一。你可以在帮助文件中查找“Creatable objects”,来看看那些是可以单独创建的。
silverwonder 2002-09-07
  • 打赏
  • 举报
回复
如何注册该com呢?
wwwxuhong 2002-09-06
  • 打赏
  • 举报
回复
出现该错误是因为没有注册该com

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧