|
阅读:1225回复:3
用delphi访问Layers遇到问题
<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> |
|
|
1楼#
发布于:2004-08-21 21:55
看来对于Com的编程,Delphi不能照搬VB了
|
|
|
2楼#
发布于:2004-08-21 21:49
<P>最终换成 c:=c+IMoMaplayer(map1.layers.item(a)).name; </P><P>OK!</P>
|
|
|
3楼#
发布于:2004-08-21 21:40
把c:=c+map1.layers.item[0].name;换成c:=c+map1.layers.item(0).name;又说name没有声明;吐血!
|
|