Terve kaikki,
Elikkäs minulla on outo ongelma wxWidgetin kanssa. Elikkäs kun määrittelen EVT_TABLEN saan seuraavanlaisen virhe ilmoituksen.
...minusta tuossa pitäisi kaikki olla ihan ok, mutta virhettä pukkaa?!?!? :O
main.cpp|22|error: expected constructor, destructor, or type conversion before 'wxEND_EVENT_TABLE'|
main.cpp
#include "main.h" bool App::OnInit(){ frame = new MyFrame( NULL, -1, wxT("FrameTitle") ); SetTopWindow( frame ); frame->Show( true ); return true; } MyFrame::MyFrame( wxWindow *parent, wxWindowID id, const wxString &title ) : wxFrame( parent, id, title ) { } wxBEGIN_EVENT_TABLE( MyFrame, wxFrame ) wxEND_EVENT_TABLE()
main.h
#include <wx/wx.h> class MyFrame : public wxFrame{ public: MyFrame( wxWindow *parent, wxWindowID id, const wxString &title ); private: DECLARE_EVENT_TABLE() }; class App : public wxApp{ public: bool OnInit(); private: MyFrame *frame; }; IMPLEMENT_APP( App )
Yhtään mitään wxwidgeteistä tietämättä heitän villin veikkauksen, että event table ei saa olla tyhjä. Kokeile lisätä sinne joku event.
Entä mitä tuo IMPLEMENT_APP tekee? Pitäisikö taulukko olla määritetty ennen sitä?
Ainakin IMPLEMENT_APP on väärässä paikassa; otsikossa saisi olla vain esittely (DECLARE_APP). Tämä ei kuitenkaan voi olla tuon virheen syynä.
Kokeiltu on kaikki nuo ehdotukset. IMPLEMENT_APP on minulla ollut main.cpp ja olen kokeillut laittaa EVENT_TABLEEN eventin mutta ei auta mitää sama virhettä pukkaa...
Edit1:
..virhe löytyi!
Elikkäs olin ajatuksissani kirjoittanu BEGIN_EVENT_TABLE ja END_EVENT_TABLEN eteen "wx".
..kiitos kuitenki avausta.
Heh, olisipa pitänyt huomata: virheilmoitus tosiaan tulee kääntäjältä eikä esikääntäjältä, joten sanan wxEND_EVENT_TABLE esiintyminen ilmoituksessa kertoo, että makroa ei ole käsitelty. Jännittävää sinänsä, että väärä muoto esiintyy myös wxWidgetsin dokumentaatiossa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.