使用下面的代码,我尝试将DirectionsResult重新加载到TGMDirections中。
procedure Form2.Button2Click(Sender: TObject);
var
DR: TDirectionsResult;
i: Integer;
begin
DR:= TDirectionsResult.Create(Form1.FDirection, 0);
DR.XMLData.BeginUpdate;
for i:= 0 to Memo1.Lines.Count - 1 do
begin
DR.XMLData.Append(Memo1.Lines[i]);
end;
DR.XMLData.EndUpdate;
ShowMessage(Form1.FDirection.DirectionsResult[0].Routes[0].Leg[0].EndAddress);
end;一切看起来都很好,直到ShowMessage,在那里我得到了List out bounds消息。我认为DR尚未创建,或者备忘录尚未加载到DirectionsResult中。
进一步的调整已经确认DirectionsResult不存在。
如果能帮助我们纠正错误,我们将不胜感激。
发布于 2013-05-15 06:46:41
不能以编程方式将TDirectionsResult添加到DirectionsResult数组中,需要从TGMDirections对象调用Execute方法。
但是,您可以这样做
procedure TForm1.Button1Click(Sender: TObject);
var
DR: TDirectionsResult;
begin
DR:= TDirectionsResult.Create(GMDirection1, 1);
DR.XMLData.Text := Memo1.Lines.Text;
ShowMessage(DR.Routes[0].Leg[0].EndAddress);
end;也就是说,您可以毫无问题地使用对象,并且可以访问所有属性和方法。
注意XMLData和Memo.Lines之间的赋值,不要将行赋值给行,因为XML的控制是在XMLData的OnChange事件上进行的。
致以问候。
https://stackoverflow.com/questions/16548129
复制相似问题