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

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

чтение/запись компонентов [D7, WinXP]


nikomp ©   (2012-10-18 16:45:00) 

Народ, помогите плизз
сохраняю компонент в файл вот так:
FS := TFileStream.Create(FileName, fmCreate);
try
Writer := TWriter.Create(FS, 256);
try
Writer.Root :=Component;
Writer.WriteComponent(Component);
showmessage(Component.Name+inttostr(Component.ComponentCount)); // Выводит сообщение "ScrollBox11" т.е. при сохранении у него есть дочерние объекты
finally
Writer.Free;
end;
finally
FS.Free;
end;

при чтении дочерние объекты пропадают

FS := TFileStream.Create(FileName, fmOpenRead);
try
Reader := TReader.Create(FS, 256);
try
Reader.Root := Component.Owner;
Reader.Parent := TControl(Component).Parent;
//FreeAndNil(Component);
Reader.BeginReferences;
try
Component := Reader.ReadComponent(Nil);
Result := Component;
showmessage(Component.Name+inttostr(Component.ComponentCount));
finally
Reader.FixupReferences;
Reader.EndReferences;
end;
finally
Reader.Free;
end;
finally
FS.Free;
end;

вроде и Owner указываю при добавлении объекта на ScrollBox, прям беееееееееееддддддддддааааааааааааааааааа


kilkennycat   (2012-10-20 18:52:00) [1]


> Сергей М. ©   (18.10.12 20:36) [1]

ну как же. и здесь описано http://forum.vingrad.ru/forum/topic-250409.html
и здесь http://vvryndin.wordpress.com/2009/09/26/treader/
а копи пасте вещь удобная.


Сергей М.   (2012-10-18 20:36:00) [2]


> прям беееееееееееддддддддддааааааааааааааааааа


Начни своё "бииидддеее" с другого: зачем тебе вообще объекты ридер и райтер, если TFileStream предоставляет методы Read/WriteComponent ?


Наверх

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