![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pavelbej |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
Здравствуйте!
Так уж случилось, что моя тупость не позволила беспокоится о будущем развитии программы. И вот попал. Не ожидая особой активности пользователей, начал опускать руки. Но не тут то было. Начали сыпится письма с просьбами о развитии, о добавлении новых фич и т.д. И вот здесь и начались танцы с бубном. В программе использую всем известный VirtualStringTree. Использую примерно такой тип данных.
Загружаю и храню данные соответственно через LoadNode и SaveNode:
Теперь возникла необходимость добавить новые данные в тип:
И вот тут и возникает проблема. Из за отсутствия необходимых данных в старом файле, возникает ошибка при загрузке в новой программе. В связи с чем хотел бы узнать - можно ли игнорировать ошибки (чтобы прога не падала), отсутсвующие данные забить нулями например? Если нет, тогда посоветуйте, в каком формате хранить двевовидную структуру с возможностью безболезненного расширения самой структуры файла от версии к версии. То есть как в последнем примере: добавил Tags, FavIcon... а в первом примере их нет. Базы данных не предлагать - очень медленно работают - уже ознакомился с Firefox 3. |
||||||
|
|||||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
> посоветуйте, в каком формате хранить двевовидную структуру с возможностью безболезненного расширения самой структуры файла от версии к версии
XML, JSON, Bencode etc PS > Базы данных не предлагать - очень медленно работают - уже ознакомился с Firefox 3. Очень зря. FF3+SQLite неплохо работает |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Я делал в похожей ситуации следующее: в новой версии использовал другое название файла (или, в твоем случае, поменяй расширение. например, было .bsd, в новой версии сделай .bsd_2). Теперь при считывании смотри на расширение и считывай как надо ;)
P.S.: я бы внедрил в файл версию, чтобы в будущем не колдовать с расширениями. -------------------- ![]() |
|||
|
||||
| Pavelbej |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 419 Регистрация: 5.7.2005 Репутация: нет Всего: 6 |
aktuba, забавный выход из ситуации.
Это сообщение отредактировал(а) Pavelbej - 11.10.2008, 12:44 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
если выполняется предположение что в старых файлах ImageIndex лежит в интервале [0..65535] то можно так:
Это сообщение отредактировал(а) bems - 11.10.2008, 18:46 -------------------- Обижено школьников: 8 |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
и еще: действительно необходимо для каждого узла создавать новый TReader?
Это сообщение отредактировал(а) bems - 11.10.2008, 18:55 -------------------- Обижено школьников: 8 |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
забавный-не забавный, но действенный ;) -------------------- ![]() |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |