Сериализация данных в ActiveX-компоненте
От: Valeriy_Gourov Украина https://valeriygourovresume.azurewebsites.net
Дата: 22.03.04 20:16
Оценка:
Есть ActiveX-компонент, созданный с помощью MFC ActiveX Control Wizard в Visual C++ 7.0. В классе самого контрола (CControlCtrl) добавил переменную типа BOOL (или bool) m_bTreeVisible. В функции CControlCtrl::DoPropExchange() пытаюсь произвести сериализацию этой переменной:


void CControlCtrl::DoPropExchange(CPropExchange* pPX)
{
    ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
    COleControl::DoPropExchange(pPX);

    // TODO: Call PX_ functions for each persistent custom property.
    PX_String(pPX, "MyText", m_strMyText);
    PX_Bool(pPX, "TreeVisible", m_bTreeVisible);
}


Но приложение, в котором используется этот контрол, при запуске "падает". Значение типа CString сохраняется нормально. Подскажите, где я дурак и как правильно сохранять значения? Или где об этом можно почитать?
Re: Сериализация данных в ActiveX-компоненте
От: Denwer Россия  
Дата: 23.03.04 07:09
Оценка:
Здравствуйте, Valeriy_Gourov, Вы писали:

V_G>Есть ActiveX-компонент, созданный с помощью MFC ActiveX Control Wizard в Visual C++ 7.0. В классе самого контрола (CControlCtrl) добавил переменную типа BOOL (или bool) m_bTreeVisible. В функции CControlCtrl::DoPropExchange() пытаюсь произвести сериализацию этой переменной:



V_G>
V_G>void CControlCtrl::DoPropExchange(CPropExchange* pPX)
V_G>{
V_G>    ExchangeVersion(pPX, MAKELONG(_wVerMinor, _wVerMajor));
V_G>    COleControl::DoPropExchange(pPX);

V_G>    // TODO: Call PX_ functions for each persistent custom property.
V_G>    PX_String(pPX, "MyText", m_strMyText);

V_G>    PX_Bool(pPX, "TreeVisible", m_bTreeVisible);
V_G>}
V_G>


V_G>Но приложение, в котором используется этот контрол, при запуске "падает". Значение типа CString сохраняется нормально. Подскажите, где я дурак и как правильно сохранять значения? Или где об этом можно почитать?


А ты дебуггером пробовал воспользоваться? Обычно помогает. И кстати все же какого тапа у тебя переменная BOOL или bool? Там есть насколько я помню реализация только для BOOL.
Re[2]: Сериализация данных в ActiveX-компоненте
От: Valeriy_Gourov Украина https://valeriygourovresume.azurewebsites.net
Дата: 23.03.04 21:54
Оценка:
Здравствуйте, Denwer, Вы писали:

D>А ты дебуггером пробовал воспользоваться? Обычно помогает. И кстати все же какого тапа у тебя переменная BOOL или bool? Там есть насколько я помню реализация только для BOOL.


В принципе, я не полный дурак . В отладчике смотрел, но глубоко в код MFC пока не лез. Я не понял, почему оно не работает. А насчёт типа переменной, то мне пока не принципиально — BOOL или bool. Пробовал и то, и другое.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.