cai21cn
路人甲
路人甲
  • 注册日期2004-08-04
  • 发帖数5
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1225回复:3

用delphi访问Layers遇到问题

楼主#
更多 发布于:2004-08-21 21:20
<P>将mapobject里的VB帮助例子换到Delphi里遇到奇怪的问题,原VB代码如下:</P>
<P>Private Sub Form_Load()
  Dim oLayers As MapObjects2.Layers
  Dim iLayer As Integer
  
  List1.Clear
  Set oLayers = Map1.Layers
  For iLayer = 0 To oLayers.Count - 1
    List1.AddItem oLayers.Item(iLayer).name
  Next
End Sub</P>
<P>改动的Delphi代码如下:</P>
<P>procedure TForm1.Button1Click(Sender: TObject);
var
a:integer;
c:string;
begin
for a:=0 to ls.Count-1 do
     begin
        c:=c+map1.layers.item[0].name;
     end;</P>
<P>caption:=C;
end;</P>
<P>结果编译时c:=c+map1.layers.item[0].name;报错,Not enough actual parameters! 何故?
</P>
喜欢0 评分0
cai21cn
路人甲
路人甲
  • 注册日期2004-08-04
  • 发帖数5
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-08-21 21:55
看来对于Com的编程,Delphi不能照搬VB了
举报 回复(0) 喜欢(0)     评分
cai21cn
路人甲
路人甲
  • 注册日期2004-08-04
  • 发帖数5
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-08-21 21:49
<P>最终换成  c:=c+IMoMaplayer(map1.layers.item(a)).name; </P><P>OK!</P>
举报 回复(0) 喜欢(0)     评分
cai21cn
路人甲
路人甲
  • 注册日期2004-08-04
  • 发帖数5
  • QQ
  • 铜币125枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-08-21 21:40
把c:=c+map1.layers.item[0].name;换成c:=c+map1.layers.item(0).name;又说name没有声明;吐血!

举报 回复(0) 喜欢(0)     评分
游客

返回顶部