Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как сохранить 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо