Вызов wxDateTime::SetMonth(wxDateTime::Jun)
сделает объект недействительным, когда его текущим днем будет 31, как это происходит 31 января, когда был задан этот вопрос.Вы можете поменять порядок вызовов SetDay()
и SetMonth()
, чтобы выполнить эту работу, или, предпочтительно, просто использовать Set(30, wxDateTime::Jun, 2019)
, чтобы сразу изменить всю часть даты, или даже написать LicDate = wxDateTime(30, wxDateTime::Jun, 2019)
, что может быть более читабельным.
Наконец, похоже, что вы не используете средства отладки wxWidgets (т.е. компилируете свой код с определением NDEBUG
), так как в противном случае вы были бы немедленно уведомлены о проблеме, потому что вы получили бы ошибку подтверждения с сообщением, говорящимэто assert "(0 < day) && (day <= GetNumberOfDays(month, year))" failed in Set(): Invalid date in wxDateTime::Set()
.Настоятельно рекомендуется использовать их, это очень полезно во время разработки и выловит много ошибок при использовании API wxWidgets.