我正在尝试将复杂结构(实际上是 POD)定义为 REP 文件中的属性。该结构已在单独的头文件中定义为 Q_GADGET。当我尝试实例化副本时,系统崩溃并抱怨它无法创建某种类型(然后在日志中出现三个完全伪造(例如太高)的类型 ID 号)
QT5 远程对象世界中是否可以将结构定义为属性?如果是怎么办?谢谢,
我正在尝试将复杂结构(实际上是 POD)定义为 REP 文件中的属性。该结构已在单独的头文件中定义为 Q_GADGET。当我尝试实例化副本时,系统崩溃并抱怨它无法创建某种类型(然后在日志中出现三个完全伪造(例如太高)的类型 ID 号)
QT5 远程对象世界中是否可以将结构定义为属性?如果是怎么办?谢谢,
看来我的“天真” operator<< 实现是错误的。我只是将所有成员一个接一个地<<-ed 到流中,这导致了一些问题。但是使用
inline QDataStream& operator<<(QDataStream& stream, const my::api::User & value) {
QtRemoteObjects::copyStoredProperties(&value, stream);
return stream;
}
inline QDataStream& operator>>(QDataStream& stream, my::api::User & value) {
QtRemoteObjects::copyStoredProperties(stream, &value);
return stream;
}
“ethalon”解决方案(为 POD 生成了我的 REPC 编译器)工作得很好。