我无法调用返回 QRemoteObjectDynamicReplica 值的插槽。
Replica 上的 InvokeMethod 似乎不支持返回值。我只成功地调用了 void 返回槽,即使在这种情况下,在 DirectConnection 模式下,invokeMethod 在主机槽调用之前完成,所以似乎没有主机应答在等待。
我有这样的代码,它在主机端完美运行,但在副本端却不行。
bool success = QMetaObject::invokeMethod(_replica,"getName", Qt::DirectConnection,
Q_RETURN_ARG(QString, retVal),
Q_ARG(QString, "id")
);
如果我很好地理解了 REPC 的主题(我还没有尝试过),似乎可以调用返回值槽: 用法是声明 SLOT 后跟用括号括起来的所需签名。返回值可以包含在声明中。如果跳过返回值,将在生成的文件中使用 void。
REPC 是否做了某种魔术来允许此功能,还是我错过了什么?
感谢帮助。