|
|
|
сериализация VC++
|
|||
|---|---|---|---|
|
#18+
у меня есть класс CField, я создала функцию сериализации - сохраняет массив m_Field [j]. в классе СFieldDoc создаю - СField *field, в СFieldView - делаю так создаю новый объект field=new CField; далее GetDocument()->field=field; не работает сериализация - я проверяла, файл сохраняемый не пустой, туда что-то записывает, но вот не считывается, то есть не вызывается сериализация на чтение из файла (ставлю туда breakpoint), при попытки открыть сохранённый файл, программа туда даже не доходит. может я что не поняла? если есть у кого-нибудь работающие примеры - буду рада. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 13:06 |
|
||
|
сериализация VC++
|
|||
|---|---|---|---|
|
#18+
функцию void ТвойDoc::Serialize(CArchive& ar) писала ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 13:09 |
|
||
|
сериализация VC++
|
|||
|---|---|---|---|
|
#18+
ага..c собой нет кода, набросаю приблизительно: IMPLEMENT_DECLARE и вторая функция тоже есть (не помню как пишется точно) СField::Serialize(CArhive &ar) { CObject::Serialize(ar); if (/условие/) { for (int i=0;i<9;i++) { for (int j=0;j<9;j++) ar>>m_field [j]; }; } else { for (int i=0;i<9;i++) { for (int j=0;j<9;j++) ar<<m_field[j]; }; } а в Doc: CField *field; СFieldDoc::Serialize(CArhive &ar) { if (/условие/) {} else {}; field->Serialize(ar); } когда создаю объект класса CField во CFieldView - делаю так CField *field; СField::OnCreate(..); { /**/ field=new CField(); GetDocument()->field=field; /**/ } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 14:18 |
|
||
|
сериализация VC++
|
|||
|---|---|---|---|
|
#18+
никто не сталкивался с такой проблемой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 16:26 |
|
||
|
сериализация VC++
|
|||
|---|---|---|---|
|
#18+
вчера сидела до потери пульса :) из CField перенесла сериализацию в CFieldDoc - всё заработало! почему-то в СFieldDoc - Serialize не корректно работала строка field->Serialize(ar), вызывая сериализацию только для записи, но не для чтения, поместив код из CField в СFieldDoc ничего не меняя - всё заработало... не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 09:14 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=423&tid=2034016]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 417ms |

| 0 / 0 |
