powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cоздать объект по типу, записанному в строке
5 сообщений из 30, страница 2 из 2
Cоздать объект по типу, записанному в строке
    #39713235
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валяется у меня где-то на коленке сериализатор/десериализатор с поддержкой кастомных именований, регистрацией собственных преобразователей типов и коллбеков при (де)сериализации и настроечными опциями как какой тип описывать, с поддержкой наследуемых классов и экземпляров дочерних типов в базовых и рекурсивными ссылками
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
  TT = (aa,zz,ss);
  TSet = set of TT;

  TA = class
  private
    FA: Int32;
    FB: Int64;
    FC: string;
    FD: TArray<Int32>;
  public
    constructor Create;
  end;

  [SerializePrefix('Test')]
  TTest = class
  public
    [SerializeName('Grow')]
    FGrow: Integer;
    FStr: TSet;
    FClass: TA;
    constructor Create;
  end;


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<Config xmlns:o1="System.TObject" xmlns:Test="MainForm.TTest">
  <Test:Grow>50</Test:Grow> 
  <Test:FStr TT.zz="True" /> 
  <Test:FClass xmlns:a1="MainForm.TA">
    <a1:FA>100</a1:FA> 
    <a1:FB>200</a1:FB> 
    <a1:FC>asdfiuas89fh</a1:FC> 
    <a1:FD>
      <I0>10</I0> 
      <I1>20</I1> 
      <I2>30</I2> 
      <I3>40</I3> 
    </a1:FD>
  </Test:FClass>
</Config>
...
Рейтинг: 0 / 0
Cоздать объект по типу, записанному в строке
    #39713252
X-Cite,

почему "true" ?

Код: pascal
1.
  <Test:FStr TT.zz="True" /> 



а не

Код: pascal
1.
  <Test:FStr TT="zz" /> 
...
Рейтинг: 0 / 0
Cоздать объект по типу, записанному в строке
    #39713260
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччччччччч,

Потому, что у него множество
...
Рейтинг: 0 / 0
Cоздать объект по типу, записанному в строке
    #39713261
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ччччччччччX-Cite,

почему "true" ?

Код: pascal
1.
  <Test:FStr TT.zz="True" /> 



а не

Код: pascal
1.
  <Test:FStr TT="zz" /> 


Множество. Через атрибут задаются значения который входят в него.
Есть опция для множества, писать все элементы через значения True/False (False - не входит) или оставлять только True
...
Рейтинг: 0 / 0
Cоздать объект по типу, записанному в строке
    #39713911
aXS_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
X-Cite , еще раз спасибо за помощь, во всем разобрался. Только что дописал класс благодаря вашим подсказкам.
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cоздать объект по типу, записанному в строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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