If you have a frame (generated with wxSmith) and add a wxMultiChoiceDialog to the frame (using wxSmith again) you end with this:
Frame constructor (some code removed for clarity)
//(*Initialize(FichaFrame)
Create(parent, wxID_ANY, _("Test"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, "wxID_ANY");
wxString __wxMultiChoiceDialogChoices_1[3] =
{
_("PDF"),
_("CSV"),
_("HTML")
};
MultiChoiceDialog1 = new wxMultiChoiceDialog(this, _("A"), _("B"), 3, __wxMultiChoiceDialogChoices_1, wxCHOICEDLG_STYLE|wxOK|wxCANCEL|wxCENTRE, wxDefaultPosition);
//*)
Frame destructor
//(*Destroy(FichaFrame)
//*)
The wxSmith code in the frame destructor should be
//(*Destroy(FichaFrame)
MultiChoiceDialog1->Destroy();
//*)
THe lack of destruction is OK for things like wxButtons and the such, as they are owned and destroyed by containers, but not for common dialogs. FileDialog, DirDialog and others suffer the same problem.
I have been looking in wxSmith's code and there is no provision for filling the destructor part (something like OnBuildDestroyingCode()).