阅读:1372回复:2
不是高手,不能解决我的问题
<P>1。如何解决mapx4.5标注中的汉字为空?</P>
<P>2. mapx5.02+dephi; 在创建的临时图层中增加多个图元,出错out of memory</P> <P> Map1.layers.CreateLayer('Findlayer', emptyparam, 3, emptyparam, emptyparam); //</P> <P>Map1.Datasets.Add(miDataSetLayer, map1.Layers.item['Findlayer'],'Findlayer', EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam); 增加图元:(循环增加,每次变更NFtrx1……)</P> <P> Rectangle:= CreateOleObject('MapX.Rectangle.5');</P> <P> Rectangle.Set(Nftrx1,Nftry1,Nftrx2,Nftry2); map1.DefaultStyle.RegionPattern:=2; map1.DefaultStyle.RegionColor:=micoloryellow;</P> <P> ftr:= Map1.FeatureFactory.CreateRegion(Rectangle,map1.DefaultStyle); newftr:=map1.Layers.item['SHlayer'].AddFeature(ftr,emptyparam); newftr.KeyValue:=dwid;// +':' +dwname; newftr.Style.RegionPattern:=2; newftr.style.RegionColor:=miColorYellow; newftr.Update(emptyparam,emptyparam);</P> <P> 第一个图元能够增加,增加第二次时,运行到 ftr:= Map1.FeatureFactory.CreateRegion(Rectangle,map1.DefaultStyle);时出out of memory 错误!</P> <P> </P> |
|
1楼#
发布于:2004-11-11 15:42
<P>多谢版主的回复,可是好像没有什么用。</P>
<P>1.地图在mapinfo中的中文标注能正常显示,到了dephi运行程序还是不行,而且我动态在一个临时图层增加的图元也没法设置它的字段宽度呀。</P> <P>2.我将</P> <P> Rectangle:= CreateOleObject('MapX.Rectangle.5');<A>//创</A>建一个矩形对象 Rectangle.Set(Nftrx1,Nftry1,Nftrx2,Nftry2);//确定位置 ftr:= Map1.FeatureFactory.CreateRegion(Rectangle,map1.DefaultStyle);//创建出矩形图元 newftr:=map1.Layers.item['SHlayer'].AddFeature(ftr,emptyparam);//将图元增加到某图层 newftr.update(emptyparam,emptyparam) <A>file://保</A>存</P> <P>代码写出一个过程,再在循环中调用这个过程,这样可以循环可以多进行几次,但到了</P> <P>第六次时提示,“存储器不够,无法完成任务”。</P> <P> 版主能否再帮着看看,</P> <P> 另外,Rectangle:= CreateOleObject('MapX.Rectangle.5');<A>//创</A>建一个矩形对象 ftr:= Map1.FeatureFactory.CreateRegion(Rectangle,map1.DefaultStyle);//创建出矩形图元</P> <P>不是定义为new吗? 对了,这段程序如果mapx4.5控件的话,没有一点问题,这跟mapx5是dll而mapx4.5是OCX有关?</P> [此贴子已经被作者于2004-11-11 15:44:23编辑过]
|
|
2楼#
发布于:2004-11-14 12:14
口气太大了
|
|