yms: (Default)
[personal profile] yms
Устроил цирк с сериализацией в .NET.
Имеется пакет для создания диаграмм. В нём есть несколько демонстрационных программ, которые на нём построены. Одна из них, самая навороченная (далее Demo1), создаёт многие продвинутые типы узлов графов, с особым поведением, задаваемым виртуальными методами. Код методов находится, есссно, в теле этой программы.
Ещё одна демка, самая простая (далее MinimalApp), создаёт только два простейших узла и даёт стандартную функциональность пакета (соединение узлов мышкой и т.д.).
Пакет поддерживает сериализацию .NET, из чего следует поддержка любого драг-н-дропа и копи-пейста (в дальнейшем ДДКП) узлов и фрагментов графов в виде копирования и вставки в любой программе, которая на нём основана.

Теперь начинается цирк. Запускаем MinimalApp — ДДКП работает. Запускаем ещё один MinimalApp - ДДКП работает из одной аппликации в другую. Перетаскиваем диаграммы мышкой туда-сюда - красота. Но дальше...
Запускаем навороченную демку и делаем драг-н-дроп в простую программу. РАБОТАЕТ!! Поведение узлов, заданное в Demo1, сохраняется в MinimalApp! Закрываем Demo1 - поведение сохраняется!!
Получается, выполнимый код сериализуется вместе с полями класса и переселяется в новую программу?!
А вот объекты со встроенными картинками копируются лишь частично, картинки не копируются.

Наверно, сериализация в Джаве позволяет то же самое...

Date: 2005-01-27 01:04 am (UTC)
From: [identity profile] mysha-17.livejournal.com
А код узлов не в DLL сидит? Тогда данные скачиваются, соответствующий код подгружается в тот же процесс, и все работает.
Кстати, в Java можно передать bytecode вместе с данными, так что не такая уж это и дикость.

Date: 2005-01-27 01:12 am (UTC)
From: [identity profile] yms.livejournal.com
не в DLL, а в EXE. Наверно, всё-таки код передаётся вместе с данными.

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 25th, 2026 10:02 am
Powered by Dreamwidth Studios