我们可以使用SuperObject库,通过SOInvoker方法,根据对象的名称并给出其参数的json字符串来调用某个对象的方法,就像在这个答案中所示。
我想知道如何将创建的对象作为参数发送。我尝试像这样发送它:
我想知道如何将创建的对象作为参数发送。我尝试像这样发送它:
LObjectList := TObjectList.Create;
LSuperRttiCtx := TSuperRttiContext.Create;
LSuperObjectParameter := LObjectList.ToJson(LSuperRttiCtx);
SOInvoke(MyInstantiatedObject, 'MyMethod', LSuperObjectParameter);
但是在MyMethod中,LObjectList引用丢失了。
我做错了什么?
可以在这里下载superobject库(点击链接)
LObjectList
引用存储为MyMethod
的私有类字段或局部变量怎么样?我知道这是一个解决方法,但我现在无法检查那里发生了什么。 - TLama