Показать сообщение отдельно
Старый 26.04.2005, 02:18   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Хороший вопрос. Возникает, не иначе, после знакомства с классическими шаблонами разработки. Можно.
  1. Класс должен быть сериализуемым, т.е. на базе интерфейса SysPackable. Класс не должен принимать параметров в new(). Например, все классы на основе RunBase подходят.
  2. Узнать classId объекта с помощью функции сlassIdGet()
  3. Если заранее не известно, сериализуемый ли класс или нет, определить это с помощью DictClass.implements() или просто проверить наличие методов с именами pack и unpack
  4. Запаковать
  5. Создать новый объект по номеру класса с помощью DictClass.makeObject()
  6. Распаковать.
За это сообщение автора поблагодарили: alex55 (1).