wxTextCtrl类的GetValue方法正在崩溃我的应用程序
GetValue method of wxTextCtrl class is crashing my app
我正在尝试使用wxTextCtrl为我的GUI应用程序做一个输入框。我已经制作了这个框,但是当我试图从中取出输入文本时,它崩溃了,我不知道为什么。
代码如下:
main.cpp:
int main(int argc, char** argv)
{
wxApp::SetInstance( new App() );
wxEntryStart(argc, argv);
wxTheApp->OnInit();
wxTheApp->OnRun();
wxTheApp->OnExit();
wxEntryCleanup();
return 0;
}
app.cpp:
bool App::OnInit()
{
wxString title = "Version: ";
title += APP_VERSION;
/* Create the frame for my app */
Frame *simple = new Frame(0, wxID_ANY, title, wxDefaultPosition, wxSize(287, 700)/*wxSize(287, 450)*/, (wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)));
simple->Show(true);
return true;
}
frame.cpp:
Frame::Frame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
: wxFrame( parent, id, title, pos, size, style )
{
wxPanel *panel = new wxPanel(this, wxID_ANY);
input_text = new wxTextCtrl(this, wxID_ANY, "initial", wxPoint(10, 400), wxSize(250, 100));
wxString str = input_text->GetValue();
wxMessageBox(str);
}
在frame.cpp行中崩溃:wxString str = input_text->GetValue();
我正在使用wxWidgets-3.0.0和Visual Studio 2012在windows上编译。
这可能是一些非常简单的东西,但我刚开始使用wxWidgets,我没有太多的经验。
谢谢。
如果您刚开始使用wxWidgets,为什么不使用标准的方式初始化它,即wxIMPLEMENT_APP宏?我不确定这是否解释了你的问题(如果你在调试器下运行你的程序并确定为什么完全会崩溃,即向我们展示完整的堆栈跟踪,这将是非常有用的),但你肯定没有正确初始化库。
一般情况下,当你想把文本控件创建为面板的子控件时,你也会把它创建为框架的子控件,但这肯定也不会导致崩溃。
在显示窗口之前,从Frames构造函数中调用GetValue()。我认为现在不可能。
对于其他到达这里的人:
我相信这可能是由于使用与应用程序不同的字符串设置(宽/utf -16/16位vs窄/UTF-8/char)编译wxWidgets库(dll/共享对象)造成的。
我很抱歉,我没有时间在我的情况下进一步调查,只是最终在同一棵树中编译库和应用程序,但我相信这是一个方向,因为它解释了否则无法解释与wxString相关的崩溃。
相关文章:
- 为什么我的多线程作业队列崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 指针相关的UE4崩溃.我的指针哪里错了?
- 拖放我的MDI被CRichEditView拦截并在CRichEditView::GetDocument中崩溃 - 如何覆
- 为什么我的结构在包含字符串时崩溃?
- 无法访问的代码如何导致我的程序崩溃?
- 矢量迭代器在尝试调用函数时使我的程序崩溃
- 使用唯一指针调用函数会使我的程序崩溃
- 钩/绕道 d3d9 (现在/结束场景) - 似乎调用我的函数然后崩溃
- C++单例模板类使我的程序崩溃
- 我的程序在到达"cin << ans1 "时崩溃
- 运行简单的.oct文件时Octave崩溃,我的代码出了什么问题?
- 是什么导致我的 Python 紧缩 C 扩展崩溃?
- Qfiledialog正在崩溃我的应用程序
- 简单程序没有输出和崩溃.我的解决方案有什么问题
- 当来自外部库的线程不可预测地崩溃我的应用程序时,我该怎么办
- While循环在计算着色器是崩溃我的视频卡驱动程序
- 为什么我的命令行参数处理崩溃我的程序
- wxTextCtrl类的GetValue方法正在崩溃我的应用程序
- 什么是崩溃我的应用程序的异常,给定一个调用堆栈与UnhandledExceptionFilter