wxWindow Problem



  • tach,

    haette da'n Problem, wxWindows spezififsch:

    Grundvoraussetzung:
    class2 erzeugt EIN Objekt (wxNotebook), mit allem was dazugehoert.
    class3 erzeugt fuer jedes Profil (geoeffnete Dateien, bzw. neues Profil) ein Objekt.

    Da class3 nicht von class2 erbt (dieses Problem waere der einzige grund dafuer), kann ich nun in class2 nicht auf ein beliebiges class3-Objekt zugreifen, da die Objekte hier nicht zur Verfuegung stehn.

    wxWindows stellt nun hierfuer ein OBJARRAY zur Verfuegung, bei dessen Erzeugung/Deklaration/Definition ich mich an die Vorgaben von http://www.wxwindows.org/manuals/2.4.2/wx31.htm#wxdeclareobjarray gehalten hab.

    Der Compiler meint nun aber leider:
    C:/Dev-Cpp/include/wx/msw/window.h: In copy constructor
    wxControlBase::wxControlBase(const wxControlBase&)': C:/Dev-Cpp/include/wx/msw/window.h:497:wxWindow::wxWindow(const wxWindow&)'
    is private
    libase.cpp:563: within this context: WX_DEFINE_OBJARRAY(ArrayOfOpenedProfiles);

    Im Header habe ich nach Bekanntmachung der Klassen die Deklaration stehen:
    WX_DECLARE_OBJARRAY(class3, ArrayOfOpenedProfiles);

    In class3 (private): ArrayOfOpenedProfiles *m_p_arrayopendProfiles;

    Kann mir da jemand helfen?

    Danke schon mal
    SF



  • Hallo,
    dein OpenedProfile sollte laut diesen Spezifikationen einen öffentlichen Copy Konstruktor haben. Damit stimmt irgendwas nicht, denn dein Compiler meldet dir die Fehlermeldung, das wxWindows Copy Ctor private ist. Hast du vielleicht gar keinen Copy Ctor definiert?
    Ansonsten verschiebe ich das mal nach Rund Um, da es ja ein "wxWindows spezifisch"es Problem ist



  • Danke Davie,

    genau das war's, den CopyCtor in class3, und nun geht's 😃

    Thanx
    SF


Anmelden zum Antworten