2012-02-25 16 views
0

我试图打开MyApp的)一个wxFileDialog在:: OnInit的(但我结束了一个错误信息说“为号召“wxFileDialog在没有匹配的功能:: wxFileDialog在(MyApp * const,const char [12],const wxChar * &,const wxChar * &,const char [6],)“wxFileDialog在在MyApp的开放:: OnInit中()错误

MyApp::OnInit() 
{ 
    wxFileDialog dialog2(this, _T("open a file"), wxEmptyString, wxEmptyString, _T("*.csv"), wxFD_OPEN); 
    dialog2.ShowModal(); 
    ... open the file and then do something ... 
} 

我们的想法是让用户打开一个配置文件的程序启动之前。任何人都可以为这个问题提供一些建议吗

谢谢。

回答

1

问题是您的第一个参数,父对话框,它期望wxWindow*,但您通过MyApp*。由于您没有父母,只需传递NULL即可。

wxFileDialog dialog2(NULL, _T("open a file"), wxEmptyString, wxEmptyString, _T("*.csv"), wxFD_OPEN); 
+0

谢谢你的SteveL,它现在有效。 – 2607 2012-02-25 22:40:00

0

根据wxWidgets documenation,宏_T()是从_()不同。所以,请在传递参数时尝试_

wxFileDialog dialog2(this, 
        _("open a file"), 
        wxEmptyString, 
        wxEmptyString, 
        _("*.csv"), 
        wxFD_OPEN);