阅读:1242回复:1
delphi+AO,无法获取Feature的问题
<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> |
|
1楼#
发布于:2005-06-02 14:35
类库的问题!delphi IDE会自己更改你导入的esri类库!
|
|