Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.11;
Скачать: CL | DM;

Вниз

Сохранение TControl   Найти похожие ветки 

 
vvolkov ©   (2002-10-31 13:51) [0]

Кто знает как сохранить у своего TComponent не published свойство в таком формате как в dfm. Пробовал как в примере Delhpi не работает... помогите кто может!


 
Skier ©   (2002-10-31 13:53) [1]

>vvolkov
Как пробовал ?


 
vvolkov ©   (2002-10-31 14:12) [2]

переопределял DefineProperty и типа

procedure TPlacementItem.DefineProperties(Filer: TFiler);
begin
Filer.DefineProperty"Control", ReadControl,WriteControl,true);
end;

и заводил функции

procedure TPlacementItem.ReadControl(Reader: TReader);
begin
Control:=TControl(Reader.ReadComponent(nil));
end;

procedure TPlacementItem.WriteControl(Writer: TWriter);
begin
Writer.WriteComponent(Control);
end

Сохранение выполял руками типа

function TPlacementItem.Save: string;
begin
var
BinStream :TMemoryStream;
StrStream : TStringStream;
begin
BinStream:=TMemoryStream.Create;
try
StrStream:=TStringStream.Create("");
BinStream.WriteComponent(Self);
BinStream.Seek(0,soFromBeginning);
ObjectBinaryToText(BinStream,StrStream); // вот тут оно и здыхало...
result:=StrStream.DataString;
finally
StrStream.Free;
BinStream.Free;
end;
end;

Примерно так...




 
vvolkov ©   (2002-10-31 14:42) [3]

Основная проблема в том, что при записи свойства Control не формируется вложенный компонент, а формируется запись его свойств. При преобразовании их в читаемую форму преобразователь естественно спотыкается поскольку не может интерпретировать такое свойство. Как выполнить формирование вложенного объекта?



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

Текущий архив: 2002.11.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
14-34177
MBo
2002-10-21 12:55
2002.11.11
Длинный гудок на маме - что значит?


14-34205
vopros
2002-10-21 10:31
2002.11.11
Вы будете смеяться, но Ира меня покинула.


1-33940
Кен
2002-10-31 05:05
2002.11.11
Есть несколько кнопок у которых в событие OnClick прописана одна


4-34312
bublik
2002-10-01 00:38
2002.11.11
Как послать сообщение Desktоp у о нажатии левой клавиши мышки?


1-34096
k-sergey
2002-10-30 11:41
2002.11.11
Как можно что то запихать в Exe файл?