этот код ни всегда устраивает
Code: Select all
szRezult = any.As<wxString>();
А для wxDateTime возвращает пустую строку
Code: Select all
szRezult = any.As<wxString>();
I chto? Eto standartnye bulevskie znachenija. Ochen udobno - srazu zapisyvaetsja v "if()".cutecode wrote: Есть ли универсальная функция для преобразования wxAny в строку?
этот код ни всегда устраиваетнапример, для типов bool она возвращает "true"/"false" всместо 1/0.Code: Select all
szRezult = any.As<wxString>();
A kakoe wxDateTime imeet otnoshenie k wxString?cutecode wrote: А для wxDateTime возвращает пустую строку
Code: Select all
bool res = any.GetAs( szResult );
if( res )
// success
else
// conversion failed
Code: Select all
_ttol("true") и _ttol("false") - всегда возвращают 0
Code: Select all
any.GetAs( szResult ); - Синтаксическа ошибка
Code: Select all
wxAutomationObject::GetProperty()
0/1 и true/false взаимозаменяемы.cutecode wrote: wx 3.1.1
работаю в винде, пробовал и в mingw и в VS2013Code: Select all
_ttol("true") и _ttol("false") - всегда возвращают 0
Интересно.cutecode wrote:Code: Select all
any.GetAs( szResult ); - Синтаксическа ошибка
Если может быть все что угодно может проще проверить через http://docs.wxwidgets.org/3.1.0/classwx ... 05d6c5e1da.cutecode wrote: я работаю с COM-Объектом,возвращает wxAnyCode: Select all
wxAutomationObject::GetProperty()
а там может быть все что угодно, и мне все это надо представить в виде строки.
Code: Select all
wxVariant v;
if (value.GetAs(&v))
szRezult1 = v.GetString();
else
{
write_message(wxString::Format(L"Неизвестный тип данных wxAny"));
wxASSERT(0);
}
wxAny should be a straight replacement for wxVariant.cutecode wrote: Thanks for a hint. I've found a solution
Code: Select all
wxVariant v; if (value.GetAs(&v)) szRezult1 = v.GetString(); else { write_message(wxString::Format(L"Неизвестный тип данных wxAny")); wxASSERT(0); }