2013-09-10 7 views
0

Я не уверен на 100%, если это подходящее место, но у меня есть проблема с wxFileDialog. Он всегда возвращает пустую строку «»wxFileDialog всегда возвращает пустую строку ""

wxFileDialog* openFileDialog = new wxFileDialog(
this, 
_("Open"), 
wxEmptyString, 
wxEmptyString, 
"Vocab files (*.vocab)|*.vocab", 
wxFD_, 
OPEN|wxFD_FILE_MUST_EXIST); 
    if (openFileDialog->ShowModal() == wxID_OK) 
    { 
     wxString path = openFileDialog->GetPath(); 

Я не получил ни малейшего понятия о том, почему, но я проверил несколько учебных пособий, таких, как это одно: http://wiki.wxwidgets.org/Writing_Your_First_Application-Common_Dialogs

и, конечно, руководство, но я только что в случае, когда пользователь нажимает отменить (что я не :) :) GetPath(); возвращает "".

Я использую GCC, блоки кода, WxWidgets 2.9.5 и запуска окна 7

Спасибо за ваш вклад.

ответ

1

Нет ничего плохого в коде, который вы показываете (не считая ненужного создания диалога в куче, но это неэффективно и неудобно, а не неправильно). Таким образом, что-то не так в вашей конструкции wxWidgets, или что-то катастрофическое происходит в другом месте вашей программы. Чтобы узнать, что это такое, создайте и запустите образец dialogs, включенный в wxWidgets, и используйте в нем диалог открытия файла. Если он работает там, то, по крайней мере, ваша сборка wxWidgets звучит.

+0

спасибо за ответ :) Оказалось, что это был еще один из тех неповторимых gcc/wxWidgets - * кто бы ни был виновником, возможно, были ошибки. Перезагрузка C :: B и * puff * это сработало - очень странно. Я думаю, что после этого проекта я вернусь к MSVC - без лишних хлопот. Или, возможно, что-то пошло не так, когда я создаю wxWidgets. Вы правы насчет кучи, хотя. –

Смежные вопросы