softunnel
路人甲
路人甲
  • 注册日期2005-03-28
  • 发帖数7
  • QQ
  • 铜币132枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1127回复:1

delphi+AO,无法获取Feature的问题

楼主#
更多 发布于:2005-05-24 10:56
<P>有没有用delphi写AO的朋友? 遇到一个奇怪的问题,通过IFeatureClass接口取IFeature,死活取不到,代码如下:

procedure TForm1.Button1Click(Sender: TObject);
var
im: imap;
lay: Ilayer;
lyr:IFeatureLayer;
ftrcls:IFeatureClass;
ftr:IFeature;
i: integer;
begin

im := mapc.Map;         // 从MapControl取得接口
im.Get_Layer(0,lay);
lyr := lay as IFeatureLayer;  

lyr.Get_FeatureClass(ftrcls);

ftrcls.FeatureCount(nil,i);
showmessage('Feature count:'+inttostr(i));    // 这里正确显示Feature数量

<FONT color=#ff0000>// 下面方法返回s_ok,说明调用成功,但ftr死活返回nil,就是取不到第0号的Feature</FONT>
<FONT color=#000000>if ftrcls.GetFeature(0,ftr)=s_false then
</FONT>    showmessage('fail');

ftr.Get_OID(oid);      <FONT color=#ff0000>// 这句发生异常了,因为ftr=nil
</FONT>....

end;

同样的代码,用VB就没有问题,可以取到IFeature.

请高手帮忙看一下是怎么回事,谢谢.
</P>
喜欢0 评分0
wolfmanchen
路人甲
路人甲
  • 注册日期2005-01-12
  • 发帖数14
  • QQ
  • 铜币140枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-06-02 14:35
类库的问题!delphi IDE会自己更改你导入的esri类库!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部