powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сохранить в базе данных переменную типа 'О' (Object)
12 сообщений из 12, страница 1 из 1
Сохранить в базе данных переменную типа 'О' (Object)
    #33155758
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каким должен быть тип поля таблицы, чтобы можно было присвоить значение "обьект"

скажем такой пример:
Код: plaintext
1.
frm=createobject('form')
replace name with frm
(какой тип name?)
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33155769
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и вопросик Я чуть со стула не упал.
Никаким. Поля такого типа не предусмотрены. Переменная типа "Объект" - адрес ячейки памяти и не более того. Даже если ты и сохранишь этот адрес в поле мемо или int, то было бы очень интересно узнать как ты им собираешься воспользоваться?

Если же тебе надо сохранять и восстанавливать свойства объекта(ов), то можешь воспользоваться командами Scattеr/Gather с опцией NAME.
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33155776
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Sizov.Ну и вопросик Я чуть со стула не упал.

Если мой вопрос тебя так насмешил, то советую участвовать в этом форуме как "Member" а не как "Guest", тогда посмотрим на твои вопросы.

К стати, я эту проблему решаю с помощью массива.
Всеравно верю что должен быть какой-то выход.
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156013
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И зачем мне надо становиться мембером? А вопросы здесь я не задаю. Надобности нет. Пока только отвечаю.

В свою очередь советую тебе хорошенько с помошью соответствующей литературы изучить и обдумать понятия объекта и его физического представления.

А в своих массивах ты и методы сохраняешь? Все-все? В каком виде? Скомпилированном? Или в исходниках? И как ты их обратно в память грузишь? Да и весь объект как ты из массива создаешь? Без CreateObject()? Или все таки с ее помощью?
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156097
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ха! Начинаю словесный понос. Можете не читать ;-)))

А почему, чобственно? Практический смысл в этом увидеть можно. На период работы объекта создается курсор, в котором хранятся ссылки на него самого или на другие объекты. Удобно? Думаю, некоторые скажут "Да". Вот, Samvel, например. Но на самом деле, удобнее привязать ссылку к самому объекту, в котором мы с ней оперируем, а не к какой-то внешней сущности.
А если мы слово "курсор" заменим словом "таблица", так и вовсе практический смысл пропадет. Что, мы собираемся хранить вечно ссылки на то, чего уже через полсекунды может не стать, причем, не повторится, с почти 100%-ной вероятностью, уже никогда? ;-)))
Так что, наверное, больше вредно, чем полезно.
Я не знаю, можно ли реализовать сохранение ссылок в файле. Давайте будем считать, что нельзя, и спросим себя: критично ли это? И, думаю, все ответят: некритично. Потому что есть другие, более практические, способы работы со ссылками (те же свойства объектов, коллекции, массивы, переменные разной видимости). Вот, Samvel, например - обходится же массивом. ;-)
Ссылка на то, что эфемерно, не должна переживать то, на что ссылается. А таблица - она, как бы подразумевает, что комп выключат - а информация останется. И надо это?
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156101
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: Зато в базе данных можно сохранить ссылку на ссылку на объект. ;-)
И этому я уже вижу практическое применение.
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156210
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А интересно - в чем смысл хранения в таблице?
По идее объект - можно хранить в классе. А если уж так приспичит - классы можно хранить в бинарных полях. Только почему - не в проекте? Чтобы оперативно подменять их что ли?...
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156488
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если хорошо подумать то нельзя присвоить переменной значение типа объект
Правда можно присвоить ссылку на объект, что скорее всего являеться числом
Беда в том что это число имеет смысл пока объект находиться в памяти машины. Поэтому сохранение этого числа в базе данных не имеет смысла. Мало того если вы его попытаетесь вопхнуть в числовой тип, то компьютер будет ругатся по понятным причинам
удачи
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33156800
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый простой способ для каждого класса написать специальный метод ToXml() который бы сохранял существующей состояние в Xml. В классах контейнерах, таких как форма, также прописать вызов этого метода для каждого класса-члена.
В итоге получим сериализацию объекта в Xml.
Результатирующую сохранять в мемо-поле.
Еще метод FromXml() . Который бы заполнял все свойства.
Универсально не напишешь, но для отдельных вариантов вполне можно.
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33157083
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как видно и вопрос был примитивным, и некоторые ответы тоже (вернее вопросы на вопросы).
Sergey SizovПеременная типа "Объект" - адрес ячейки памяти и не более того
Это я проходил в конце 70-ых, когда изучал асемблер, а потом Borland C. Тогда кино был немым и в ЭВМ не было жестких дисков.
Не хочу обидеть другим, что, тебя нравятся вопросы с такими подробнястями типа: "Есть у нас цех справа от двери сидит начальник, а напротив два оператора...А где жв начальник транспортного отдела?"

Действительно я ссылки на обьект сохраняю в массивах. А некоторые свойства сохраняю в таблице. Почти все, кто участвовал в этой дискусии, в конце "монологов" пришли к выводу, что вс-таки есть какой-то смысл.
Дело в том что речь идет о программе "ЧАТ", где в результате (не хочу загрузить топик подробностьями) некоторых событий создаются обьекты. У них есть свойсва: IP, Port, User, Password... и некоторые статистические данные. В течении сенса обьектов набирается давольно много, и хотя такой ситауции еще не было, но все-таки боюсь, что возникнет момент, когда будут проблемы с памятью. И поэтому думал сбросить содержание массива в таблицу.Пока мне понравилось предложение Cripдля каждого класса написать специальный метод ToXml()
Спасибо всем, До свидания
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33157881
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Samvel!

Ты в любом случае не сохраняешь ОБЪЕКТ - ты сохраняешь какие-то СВОЙСТВА объекта - а это по сути (и по определению в ООП) есть ДАННЫЕ.
Их то как раз сохранять можно 1001 способом - можно сериализовать и хранить в одном memo поле всё, можно создать под каждый класс (вряд-ли у тебя большое разнообразие классов) свою структуру/свою таблицу (или несколько) и сохранять свойства в простые поля...
Вообще есть целые книжки по поводу того как можно сохранять/восстанавливать СВОЙСТВА объектов в реляционных (или иных) структурах.
И это конечно имеет смысл - любая фоксовая программа по сути этим и занимается.
Просто ты использовал нехороший термин (сохранить объект) вот и издевается народ :)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Сохранить в базе данных переменную типа 'О' (Object)
    #33157966
Samvel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor Korolyov
Ты в любом случае не сохраняешь ОБЪЕКТ - ты сохраняешь какие-то СВОЙСТВА объекта

Перед твоим постом я написал
Действительно я ссылки на обьект сохраняю в массивах. А некоторые свойства сохраняю в таблице.
По моему мы говорим одно и тоже, просто люди цепляются за слова или термины. Остается чтоб исправляли синтаксические и орфо ошибки. Как говорил "Рубик джан" ис к/ф "Мимино"- "Я плохо говорю по русски".

Спасибо за совет.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Сохранить в базе данных переменную типа 'О' (Object)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]