![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение/запись компонентов [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 ?