wxWigets 버전 2.8.11에서 사용되는 여러 wxFlexGridSizers가 있습니다. wxWidgets 라이브러리를 2.9.4로 업그레이드 한 후 wxFlexGridSizer :: AddGrowableCol()에서 잘못된 열 인덱스를 얻고 있습니다. 어쩌면 내가 그 전에 잘못되었을 수 있습니다 생각했기 때문에 내가 1로 AddGrowableCol() 아규먼트의 값을 변경하려고wxFlexGridSizer AddGrowableCol throwing error
wxFlexGridSizer* fgSizer1;
fgSizer1 = new wxFlexGridSizer(3, 2, 0, 0);
fgSizer1->AddGrowableCol(2);
fgSizer1->SetFlexibleDirection(wxBOTH);
fgSizer1->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
이나 뭐하지만이 : 여기
은 내가 작성하고있는 선별기의 샘플입니다 여전히 같은 오류가 발생합니다. 도움이된다면 stacktrace를 포함 할 수 있습니다. 여기..\..\src\common\sizer.cpp(1956): assert "!m_cols || idx < (size_t)m_cols" failed in wxFlexGridSizer::AddGrowableCol(): invalid column index
Call stack:
[00] wxGUIAppTraitsBase::ShowAssertDialog j:\wxwidgets-2.9.4\src\common\appcmn.cpp:475
[01] ShowAssertDialog j:\wxwidgets-2.9.4\src\common\appbase.cpp:1265
[02] wxAppConsoleBase::OnAssertFailure j:\wxwidgets-2.9.4\src\common\appbase.cpp:761
[03] wxDefaultAssertHandler j:\wxwidgets-2.9.4\src\common\appbase.cpp:1065
[04] wxOnAssert j:\wxwidgets-2.9.4\src\common\appbase.cpp:1141
[05] wxFlexGridSizer::AddGrowableCol j:\wxwidgets-2.9.4\src\common\sizer.cpp:1956
[06] MyFrame::MyFrame c:\users\james\documents\code\wx29starter - copy (2)\minimal.cpp:181
[07] MyApp::OnInit c:\users\james\documents\code\wx29starter - copy (2)\minimal.cpp:130
[08] wxAppConsoleBase::CallOnInit j:\wxwidgets-2.9.4\include\wx\app.h:94
[09] wxEntryReal j:\wxwidgets-2.9.4\src\common\init.cpp:456
[10] wxEntry j:\wxwidgets-2.9.4\src\msw\main.cpp:189
[11] wxEntry j:\wxwidgets-2.9.4\src\msw\main.cpp:416
[12] WinMain c:\users\james\documents\code\wx29starter - copy (2)\minimal.cpp:111
[13] __tmainCRTStartup f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:578
[14] WinMainCRTStartup f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c:403
[15] BaseThreadInitThunk
[16] RtlInitializeExceptionChain
[17] RtlInitializeExceptionChain
가 어설 션 코드 winterblood에서
확인 있음
void wxFlexGridSizer::AddGrowableCol(size_t idx, int proportion)
{
wxASSERT_MSG(!IsColGrowable(idx),
"AddGrowableCol() called for growable column");
// see comment in AddGrowableRow(): although it's less common to omit the
// specification of the number of columns, it still can also happen
wxCHECK_RET(!m_cols || idx < (size_t)m_cols, "invalid column index");
m_growableCols.Add(idx);
m_growableColsProportions.Add(proportion);
}
AddGrowableCol() 호출에 대해 매개 변수를 1로 변경하면 정상적으로 작동합니다. 그 시험을 다시 시도하십시오. 아마도 당신은 매서운 일을 망쳤습니다. – ravenspoint
'AddGrowableCol()'은 인덱스가 0이고'wxFlexGridSizer'의 네 인자의 오버라이드는'(int rows, int cols, int vgap, int hgap)'로 정의됩니다 - 그래서 세번째 컬럼을 a에서 growable으로 설정하려고합니다. 두 개의 열 레이아웃. –