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.