Форум: "Основная";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
ВнизЕсть ли TResourceFile в Delphi? Найти похожие ветки
← →
VM (2003-03-19 12:49) [0]Не могу найти ответ на вопрос - можно ли (и как) в Delphi сохранять свои объекты в потоке данных так, как это делает TResourceFile в TP6 - т.е.именно как объекты. Явно (в D5) нет такого объекта, а ведь он очень удобен - создаешь свои объекты, регистрируешь их - и Put\Get в файл на диске, каждый объект индексируется ключевой строкой.
Спрашивал это же на сайтах "Delphi-UNDOCUMENTED","Delphi для всех" - тишина. Подскажите, кто знает.
И предлагаю тему - пусть откроет и выскажется кто-то из гуру - "Компромисс технологий ООП и БД", ведь мой вопрос идет отсюда - ты работаешь с БД, хранишь там описание (свойств) своих объектов как поля неких таблиц, но ведь функциональность туда не спрячешь; данные из таблиц БД в программе интерпретируются как объекты ООП, и иногда удобнее рабочие версии этих объектов сохранять не в таблицу БД, а именно как объект в файле ресурса.
Возможно, это узкая тема - в форумах я не видел по ней толком ничего,ни методологии, ни просто рекомендаций. Или это неинтересно?
← →
REA (2003-03-19 13:03) [1]WriteComponentRes есть. Можно еще в текст перегнать и сохранить где угодно. Сохраняются только Published свойства.
Или тебе код тоже надо где-то держать? Тоже можно - BPL, COM, DCOM.
← →
VM (2003-03-19 13:50) [2]Но WriteComponentRes - он потомков от TComponent сохраняет, а мои объекты от TObject. Ну а если в текст перегнать - так от ООП ни хрена не останется, за что боролись? Насчет BPL,Com и DCom - просто не понял, а это здесь при чем?
Я ведь хочу простого - создать свой объект от TObject, сохранить его в файле-потоке, а еще лучше - в файловом ресурсе под неким ключом. В TP6 такой стандартный объект есть, это TREsourceFile, у него помимо прочих есть методы Put и Get. В своем объекте я только определяю метод Store ждя сохранения свойств в потоке, и конструктор Load - для их считывания и воссоздания своего объекта.
В Delphi этого не вижу, поэтому вопрос - а как это сделать? И как мне сохранить потомка от TStringList, к примеру?
← →
Digitman (2003-03-19 14:08) [3]
> он потомков от TComponent сохраняет, а мои объекты от TObject
ну если уж ты сразу не сообразил наследовать свои классы от TComponent, то ничто не мешает "вручную перетащить" соотв.методы от TComponent в свой класс
← →
Mike_Goblin (2003-03-19 14:10) [4]Сделай свои объекты наследниками TPersistent
переопредели
procedure DefineProperties(Filer: TFiler); virtual;
посмотри как используется Filer в коде WriteComponentRes - напиши свой код сохранения аналогично.
По поводу объектов в БД - Delphi7 Architect содержит отличный набор компонентов Bold. доп инфа - www.boldbox.com
← →
REA (2003-03-19 14:33) [5]Всякие полезности типа потокового чтения/записи требуют накладных расходов, что не всем нужно, поэтому от TObject и нельзя сохранять, а от TPersistent можно. Так или иначе все движется к дотнет и далее к интерпретаторам - там все можно, главное чтобы станок апгрейдился раз в год.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.31;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c