![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как сохранить TList [D7, XP]
Creative © (2006-04-07 12:13:00)Допустим создается несколько экземпляром класса. Каждый экземпляр при создании добавляется к списку var MyList: TList.
Нужно сохранить и естественно загрузить все созданные объекты. Сохранить то просто
for i:= 0 to MyList.Count-1 do MyObject.SaveToFile
Но как сохранить саму переменную MyList? Ведь если при загрузке написать
for i:= 0 to MyList.Count-1 do MyObject.LoadFromFile
программа освершенно справедливо вылетит сказав, что MyList = nil.
MsGuns (2006-04-07 13:04:00) [1]Может, надо сохранять - восстанавливать не сами объекты, а некоторые их свойства ? Иначе как-то невнятно все это звучит. Опять же сохранения и восстановление в рамках одного сеанса работы приложения или разных ?
Можно описать задачу поподробнее ?
Palladin (2006-04-07 12:53:00) [2]СохранитьКоличествоОбъектов
ЗагрузитьКоличествоОбъектов
Creative (2006-04-07 12:52:00) [3]> Palladin © (07.04.06 12:43) [4]
можно уточнить, что означают эти два выражения:
SaveObjCount(l.Count);
......
LoadObjCount0-1
?
Palladin (2006-04-07 12:43:00) [4]
> но в MyList хранились ссылки на объекты
и что?
> получается что при попытке загрузить объекты я больше не
> могу к ним обратиться
чушь
Procedure SaveObjList(l:TList);
Var
i:Integer;
Begin
SaveObjCount(l.Count);
For i:=0 to l.Count-1 Do TMyObject(l[i]).SaveToFile
End;
Procedure LoadObjList(l:TList);
Var
i:Integer;
o:TMyObject;
Begin
For i:=0 to LoadObjCount0-1 Do
Begin
o:=TMyObject.Create;
o.LoadFromFile;
l.Add(o);
End;
End;
Kolan (2006-04-07 12:43:00) [5]Если тебе нужны объекты во время работы приложения то зачем их сохранять. Сделай глобальный TList.. Или я не понял вопроса.
Рамиль (2006-04-07 12:42:00) [6]
> да, но в MyList хранились ссылки на объекты, получается
> что при попытке загрузить объекты я больше не могу к ним
> обратиться
А с чего ты взял, что ссылки будут теже самые? Или я не понял вопроса.
Опиши точно когда надо загружать и какие объекты?
Creative (2006-04-07 12:34:00) [7]да, но в MyList хранились ссылки на объекты, получается что при попытке загрузить объекты я больше не могу к ним обратиться
Рамиль (2006-04-07 12:15:00) [8]А зачем MyList сохранять? Создавай и загружай в него MyObject через Add