首页 > 解决方案 > 将 JObject 转换为 JList

问题描述

将aJObject转换为a JList(或其他任何东西,没关系,这只是一个例子),只是做JList(MyJobject)一个好方法吗?我没有收到任何错误,但我不确定这是否是正确的方法。

标签: delphifiremonkey

解决方案


在不同对象类型之间进行转换时,不能使用普通类型转换。您必须强制JObject转换为ILocalObject并调用其GetObjectID()方法,然后将该结果传递给Wrap()目标类类型的方法,在这种情况下TJList,例如:

例如:

var
  MyJobject: JObject;
  MyJList: JList;

MyJobject := ...;
MyJList := TJList.Wrap((MyJobject as ILocalObject).GetObjectID);

或者更简单(这只是上面的包装):

var
  MyJobject: JObject;
  MyJList: JList;

MyJobject := ...;
MyJList := TJList.Wrap(MyJobject);

看看这样做的目的是什么(MyJobject as ILocalObject).GetObjectID


推荐阅读