【发布时间】:2016-04-06 20:24:32
【问题描述】:
我正在使用 wxCreatePersistentObject 将选项卡保存在内存中,但是遇到了一些问题。
使用http://docs.wxwidgets.org/trunk/overview_persistence.html#persistence_defining 我将一步一步地创建这个持久类。我要保存tabpanel,继承自auiNotebook。
class myPersistentClass : public wxPersistentObject{
public:
myPersistentClass(TabPanel *panel);
wxString GetKind() const;
wxString GetName() const;
void Save() const;
bool Restore();
TabPanel * panel_;
wxPersistentObject * wxCreatePersistentObject (PropertyTabPanel *panel);
};
这是我的定义:
myPersistentClass::myPersistentClass(TabPanel *panel):wxCreatePersistentObject(panel) {
}
wxPersistentObject * wxCreatePersistentObject (TabPanel *panel){
return new myPersistentClass(panel);
}
wxString myPersistentClass::GetKind() const{
return "PropertyTabPanel";
}
wxString myPersistentClass::GetName() const{
return "namesomething";
}
void myPersistentClass::Save() const{
wxPersistentObject::SaveValue("something", this);
}
bool myPersistentClass::Restore(){
return wxPersistentObject::RestoreValue(GetName(), this);
}
它给了构造函数一个编译器错误。我不确定我做错了什么。另外,如果有人能告诉我我是否在正确的轨道上创建这个 wxPersistentObject
【问题讨论】:
-
正如我们多次向您解释的那样:这是错误的方法。
-
@ravenspoint 我将采用不同的方法。很高兴知道如何使用这个 wxpersistentclass 以供将来参考。我猜它是出于某种目的在 wxwidgets 中制作的?我不知道为什么会有反对票。这完全是一个单独的问题。