Здравствуйте Igor Soukhov, Вы писали:
IS>Здравствуйте volph, Вы писали:
V>>Почему Сериализация не вызывается ? IS>что значит "не вызывается ?"
это значит что ОНА НЕ ВЫЗЫВАЕТСЯ, я же не лох, что-бы не понимать этого и не выражаться правильно!!!
Доказательсвто этому то что я вывожу MessageBox а он не выводится
void CVirtListDoc::Serialize(CArchive& ar)
{
MessageBox(NULL,"Serialize","Serialize",MB_OK);
if (ar.IsStoring())
ar.SetStoreParams(); // use large defaults
else
ar.SetLoadParams()
...
Здравствуйте volph, Вы писали:
V>Здравствуйте Igor Soukhov, Вы писали:
IS>>Здравствуйте volph, Вы писали:
V>>>Почему Сериализация не вызывается ? IS>>что значит "не вызывается ?"
V>это значит что ОНА НЕ ВЫЗЫВАЕТСЯ, я же не лох, что-бы не понимать этого и не выражаться правильно!!!
откуда мне знать лох ты или не лох — главное что у тебя с программированием все ок =)
я тебе помочь хотел — но прошло...
Здравствуйте Igor Soukhov, Вы писали:
IS>Здравствуйте volph, Вы писали:
V>>Здравствуйте Igor Soukhov, Вы писали:
IS>>>Здравствуйте volph, Вы писали:
V>>>>Почему Сериализация не вызывается ? IS>>>что значит "не вызывается ?"
V>>это значит что ОНА НЕ ВЫЗЫВАЕТСЯ, я же не лох, что-бы не понимать этого и не выражаться правильно!!! IS>откуда мне знать лох ты или не лох — главное что у тебя с программированием все ок =) IS>я тебе помочь хотел — но прошло...
А я тебя узнал! а меня ты узнал wolf^scene Alexander Kulik
Здравствуйте volph, Вы писали:
V>Здравствуйте Igor Soukhov, Вы писали:
V>>>это значит что ОНА НЕ ВЫЗЫВАЕТСЯ, я же не лох, что-бы не понимать этого и не выражаться правильно!!! IS>>откуда мне знать лох ты или не лох — главное что у тебя с программированием все ок =) IS>>я тебе помочь хотел — но прошло... V>А я тебя узнал! а меня ты узнал wolf^scene Alexander Kulik
Я просто не забывал — помню всех =) ты опиши — по человечекски вызывается, что нет,
вызывается функция базового класса — или падает в этом месте — или что?
правильно заданный вопрос отвечается тут (на рсдн) за 15 минут.
Здравствуйте Igor Soukhov, Вы писали:
IS>Здравствуйте volph, Вы писали:
V>>Здравствуйте Igor Soukhov, Вы писали:
V>>>>это значит что ОНА НЕ ВЫЗЫВАЕТСЯ, я же не лох, что-бы не понимать этого и не выражаться правильно!!! IS>>>откуда мне знать лох ты или не лох — главное что у тебя с программированием все ок =) IS>>>я тебе помочь хотел — но прошло... IS>Я просто не забывал — помню всех =) ты опиши — по человечекски вызывается, что нет, IS>вызывается функция базового класса — или падает в этом месте — или что?
ничего не падает, просто тишина :) просто не вызывается сериализация и все :) IS>правильно заданный вопрос отвечается тут (на рсдн) за 15 минут.
Здравствуйте volph, Вы писали:
V>ничего не падает, просто тишина просто не вызывается сериализация и все
поставь breakpoint на строчку
Serialize(ar);
откомпилируй проект в отладочном режиме. Запусти
отладку — "F5". После того как как отладчик остановится
на breakpoint-е ... трассируй пошагово — так узнаешь что
происходит. Потом отпиши сюда что происходит — будем
разбираться.
Здравствуйте BoyEwgraf, Вы писали:
BE>Здравствуйте volph, Вы писали:
BE>Дорогой незнакомый друг. Обрати внимание на конструктор CFile:
BE>CFile( LPCTSTR lpszFileName, UINT nOpenFlags ); BE>throw( CFileException );
BE>Он отнюдь не принимает CString. Написать можно так:
BE>CFile * pFile = new CFile((LPCTSTR) fname, CFile::modeRead); BE>подобный код у меня работал.
а что CString неявно не конвертится к LPCTSTR ?
Здравствуйте Юнусов Булат, Вы писали:
ЮБ>Здравствуйте Igor Soukhov, Вы писали:
ЮБ>Вполне возможно там перекрыт обработчик(обработчики) ID_FILE_OPEN ID_FILE_SAVE
судя по всему — он вызывает явно и диалог выбора имени
и функцию серияализации ... так что ...
Здравствуйте Igor Soukhov, Вы писали:
BE>>CFile * pFile = new CFile((LPCTSTR) fname, CFile::modeRead); BE>>подобный код у меня работал. IS>а что CString неявно не конвертится к LPCTSTR ?
Нет. Хотя компилятор пропускает, на деле выходят пустые строки. 8-(
Здравствуйте BoyEwgraf, Вы писали:
BE>>>CFile * pFile = new CFile((LPCTSTR) fname, CFile::modeRead); BE>>>подобный код у меня работал. IS>>а что CString неявно не конвертится к LPCTSTR ? BE>Нет. Хотя компилятор пропускает, на деле выходят пустые строки. 8-(
ты не прав.
Здравствуйте Igor Soukhov, Вы писали:
IS>Здравствуйте BoyEwgraf, Вы писали:
BE>>>>CFile * pFile = new CFile((LPCTSTR) fname, CFile::modeRead); BE>>>>подобный код у меня работал. IS>>>а что CString неявно не конвертится к LPCTSTR ? BE>>Нет. Хотя компилятор пропускает, на деле выходят пустые строки. 8-( IS>ты не прав.
Здравствуйте BoyEwgraf, Вы писали:
BE>>>>>CFile * pFile = new CFile((LPCTSTR) fname, CFile::modeRead); BE>>>>>подобный код у меня работал. IS>>>>а что CString неявно не конвертится к LPCTSTR ? BE>>>Нет. Хотя компилятор пропускает, на деле выходят пустые строки. 8-( IS>>ты не прав.
BE>И действительно. Я не прав.
BE>CString strHello; BE>strHello.LoadString(IDS_HELLO); BE>cout << (LPCTSTR) strHello << endl; BE>cout << strHello << endl;
BE>и как результат
BE>Hello from MFC! BE>0077049C
это доказывает лишь одно — в у cout нет переопределенного
оператора << с аргументом типа LPCTSTR. Вот если бы был —
то CString неявно конвернулся бы к LPCTSTR. А раз нет —
так он в LPCTSTR не конвертится.
в этом случае:
Hello from MFC!
ты cout выводит basic_string который неявно создается из LPСTSTR строки