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

Вниз

запись в файл   Найти похожие ветки 

 
dimon   (2004-02-07 18:43) [0]

есть структура
TBoomark=record
Description,Path:TStringList;

BoomList:TBoomark;

пытаюсь сохранить все это дело в файл:
f:=TFileStream.Create(ExtractFilePath(Application.ExeName)+"\boomark2.bom",fmCreate or fmOpenWrite);
f.Write(BoomList,sizeof(BoomList));
f.Free;
а так же загрузить обратно:
f:=TFileStream.Create(ExtractFilePath(Application.ExeName)+"\boomark2.bom",fmOpenRead);
f.Read(BoomList,sizeof(BoomList));
f.Free;

Но почему то сохраняется только 8 байт, может я что не так делаю???
Помогите плиз...


 
хз ©   (2004-02-07 18:47) [1]

Может я что-то путаю, но вроде TStringList в TFileStream так не записывается.


 
Sergey_Masloff   (2004-02-07 18:48) [2]

Ну дык sizeof(BoomList) и есть 8 байт. Два указателя по 4 байта. Ну и сохраняешь ты их. На фига непонятно.


 
Palladin ©   (2004-02-07 18:55) [3]


> может я что не так делаю???

Да нет... все так... только ожидания твои не то ожидают...
Созданный объект класса является указателем. Какой бы класс ты не использовал. Идентификаторы динамические массивов тоже являются указателями. Строки, объявленные при директивы {$H+} являются указателями. Если к строкам и массивам еще можно обращатся путем ^ или @[0], то с объектами все гораздо сложней, ибо класс имеет гораздо более сложную организацию чем запись, методы ссылки на другие объекты и свойства.


 
petro   (2004-02-07 18:58) [4]

понятно. спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-53451
Lisa
2004-02-06 16:00
2004.02.17
Как программно узнать сколько пикселей займет строчка символов?


1-53641
h0use
2004-02-06 15:46
2004.02.17
Как в компоненет создавать about?


3-53432
stud
2004-01-28 14:04
2004.02.17
IP подключенных к базе ользователей


9-53354
lokid7
2003-08-03 15:57
2004.02.17
Вывод в DirectX


1-53555
Воа
2004-02-05 12:51
2004.02.17
TColor -> HTML цвета