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

Передача Класса, Записи по сети???   Найти похожие ветки 

← →
hogus   (2002-07-13 14:41) [0]

Возможно ли в Делфе передача классов или записей по срадствам WinAPI или стандартными Делфевыми сокетами?????


← →
Anatoly Podgoretsky ©   (2002-07-13 15:03) [1]

Еще бы понять, что ты под этим подразумеваешь, я про классы, с записями понятно, непрерывный блок байт, соответственно и стандартные методы передачи


← →
hogus   (2002-07-13 15:08) [2]



Ладно сорри, не правильно поставил вопрос... КАК ЭТО Сделать???

Stream"ом что ли????


← →
Digitman ©   (2002-07-15 11:53) [3]

Да, поток наиболее подходит для этой задачи.

Но здесь следует говорить не о приеме/передаче классов, а о приеме/передаче объектов - экземпляров классов.

Задача трансляции некоего объекта по некоему каналу передачи данных сводится к передаче его (объекта) свойств. Свойства же имеют конкретные типы.
Т.о., при передаче объекта следует последовательно (в заранее определенном порядке) записать в транспортный поток данных, передаваемый приемнику:

- идентификатор класса объекта,
- количество передаваемых свойств,
- имена свойств,
- иденентификаторы типов свойств,
- значения св-в

Все это определяет некую "уникальность" данного объекта (иными словами - его описание) и позволяет принимающей стороне воссоздать копию объекта по переданному его описанию.

Принимающая сторона должна, разумеется, "знать" формат передаваемой последовательности, описывающей объект.

- получив идентификатор класса, приемник создает в своем АП соответствующий экземпляр - "шаблон"

- получив следом идущий список описателей свойств, приемник в соответствии с ним назначает соответствующие св-ва "шаблону"

Абстрактный класс TStream имеет некоторые встроенные автоматизированные средства для поточного чтения/записи объектов класса TComponent. Поточные методы WriteComponent/ReadComponent реализуют автом.запись/чтение published-свойств передаваемых/воссоздаваемых TComponent-объектов. Вспомогательные классы TFiler, TReader/TWriter позволяют указать дополнительные св-ва (кроме published), предназначенные к поточной трансляции в произвольно задаваемой последовательности.

Теперь - трансп.уровень.

Задача передающего гнезда - получив в кач-ве параметра поток, описывающий один или более объектов, передать его целиком просто как блок неких данных известного размера

Задача принимающего гнезда - приняв некий поток данных некоего размера, "превратить" его в Stream и передать на вход алгоритма интерпредации принятого потока, который, собственно, и воссоздает один или более объектов по инф-ции, последовательно считываемой из этого потока.



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

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



Память: 0.46 MB
Время: 0.009 c
14-61279
Владик_1
2002-08-23 14:05
2002.09.19
в города ->Брусилов


14-61262
Mega
2002-08-23 00:03
2002.09.19
Fujitsu MPG3204AT......


3-60946
***
2002-08-28 11:16
2002.09.19
TDBGrid


3-60963
Reporterrr
2002-08-26 23:06
2002.09.19
Вствить таблицу в отчет


1-61045
Hooch
2002-09-06 07:25
2002.09.19
Плавающие окна




   Наверх