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

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

Что я делаю не так? [D6, Win2k]


avr555 ©   (2002-02-07 13:18:00) 

Хочу записать объект в поток. Для это го делаю следующее:

procedure TForm1.ButtClick(Sender: TObject);
var
btn,btn1 : TButton;
str:TMemoryStream;
comTmp :TButton;
begin
str := TMemoryStream.Create;


btn := TButton.Create(self);
btn.Parent := self;
btn.Left := 100;
btn.Top := 100;

str.WriteComponent(btn);
str.Seek(0, soFromBeginning);
comTmp := TButton(str.ReadComponent(nil));
btn.Free;

end;

Когда происходит чтение компонента, выходит сообщение:
"Class TButton not found"

Что я делаю неправильно


avr555   (2002-02-07 14:45:00) [1]

Все у меня работает замечательно, только не копируются внутренние объекты, массивы, дрцгие компоненты.

Мне их тоже по отдельности ручками копировать?


avr555   (2002-02-07 13:28:00) [2]

Только написал в форум и сразу же нашел ответ:
Нужно было добавить:
RegisterClass(TComponentClass(btn.ClassType));
И все заработало.


Наверх

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