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

сохранить наследника от TObject в файл...   Найти похожие ветки 

 
Simple Guet   (2003-12-18 08:44) [0]

Есть класс на основе TObject.Как сохранить переменную этого типа в файл?
Форму, к примеру, можно сохранить с помощью TStream.WriteComponent - а как сабж сделать?


 
MBo ©   (2003-12-18 09:00) [1]

сделай класс наследником TComponent


 
Digitman ©   (2003-12-18 09:01) [2]


> Есть класс на основе TObject


что ты выиграл, наследуя свой класс от TObject ? практически - ничего ... аголовной боли себе добавил)

для таких целей, чтобы не изобретать веслосипед и при этом получить разом кучу возможностей, следовало сразу наследоваться как минимум от TPersistent, а еще лучше - от TComponent


 
Simple Guest   (2003-12-18 09:08) [3]

делал...

type
TStorage_ = class(TComponent)
private
Fs:string;
public
property S:string read fs;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
st:TStorage_;
stream:TMemoryStream;
begin
St:=TStorage_.Create;
st.Fs:="zzzz";
Stream:=TMemoryStream.Create;

Stream.WriteComponent(st);

Stream.SaveToFile("c:\qwe");
Stream.Free;
st.Free;
end;


в итоге в файле
TPF0 TStorage_ и все. А где Fs?


 
Digitman ©   (2003-12-18 09:10) [4]


> А где Fs?


перенеси Fs в published - будет тебе счастье)


 
Юрий Зотов ©   (2003-12-18 09:12) [5]

Cм. TPersistent, ObjectBinaryToText, ObjectTextToBinary.

Для примера посмотрите исходники любого наследника TPersistent.


 
MBo ©   (2003-12-18 09:14) [6]

также см. DefineProperties


 
Simple Guest   (2003-12-18 09:20) [7]

ЫЫЫЫЫЫЫЫЫ....! Счастье настало!! :-)

>Digitman © (18.12.03 09:10) [4]

я попутал - не FS а S естественно...

надо property S:string read fs; в published перенести
и добавить write FS;

вот балбес - аж стыдно стало :-)



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

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



Память: 0.46 MB
Время: 0.012 c
14-99744
Soft
2003-11-28 23:19
2003.12.30
---|Ветка была без названия|---


1-99529
чайник
2003-12-16 14:38
2003.12.30
Ошибка класса EDatabaseError


1-99607
MadAngel
2003-12-16 20:22
2003.12.30
Вставка в RichEdit


4-99809
PolarS
2003-10-24 15:20
2003.12.30
Запуск программы на удаленной машине.


1-99551
DelphiNew
2003-12-16 10:40
2003.12.30
проверка на кол-во символов




   Наверх