Вниз
Скачать: CL | DM;

чтение/запись компонентов   Найти похожие ветки 

 
nikomp   (2012-10-18 16:45) [0]

Народ, помогите плизз
сохраняю компонент в файл вот так:
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, прям беееееееееееддддддддддааааааааааааааааааа


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


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


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


 
kilkennycat ©   (2012-10-20 18:52) [2]


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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.004 c
15-1356726602
Юрий
2012-12-29 00:30
2013.04.28
С днем рождения ! 29 декабря 2012 суббота


15-1356257259
Дмитрий С
2012-12-23 14:07
2013.04.28
Название поля первичного ключа.


15-1356883379
Baks
2012-12-30 20:02
2013.04.28
Восстановление фабричного состояния Acer (PQService)


2-1350536512
Александр_2012
2012-10-18 09:01
2013.04.28
Полосатый грид


15-1356650625
ННН
2012-12-28 03:23
2013.04.28
Где находится IE?




   Наверх