Возможно ли в Delphi Datasnap 2010 передать дерево с сервера Datasnap 2010 на DataSnap Client?delphi 2010 datasnap return treeview с сервера
благодарит
Возможно ли в Delphi Datasnap 2010 передать дерево с сервера Datasnap 2010 на DataSnap Client?delphi 2010 datasnap return treeview с сервера
благодарит
Вы можете быть в состоянии клудж что-то вместе, что создает и заполняет элемент управления VCL на сервере и сериализовать управление клиентом, но мне кажется некрасиво.
Я бы хотел, чтобы он возвращал данные, представляющие дерево, и использовал это для заполнения дерева на стороне клиента.
NodeId NodeName ParentId
0 Root -1
1 Node1 0
2 Node2 0
3 Node3 0
4 Node1.1 1
DataSnap может сериализовывать объекты с использованием JSON. Я рекомендую вам создать древовидную структуру, в которой вы будете хранить узлы, а затем заполнить свое дерево соответственно.
И нет, вы не можете сериализовать VCL TTreeView.
Вместо передачи элементов графического интерфейса от серверов к клиентам распространять данные только для передачи данных (например, как «объекты передачи данных», DTO), которые могут быть легко (дезамерно) сериализованы с использованием библиотек с открытым исходным кодом, таких как OmniXML, NativeXML или SuperObject.
Этот слой может легко измениться (подумайте о HTML или мобильных клиентах).
Определение для DTO можно найти на сайте Martin Fowler's.
Просьба пояснить «представление о переводе». –