169 похожих чатов

Кто знает, есть ли способы динамически создать инстанцию класса с

INITIAL полями без вызова конструктора? Знаю способ через CALL TRANSFORMATION, он требует имплементацию IF_SERIALIZABLE_OBJECT

18 ответов

22 просмотра

Вряд ли. Инстанции не бывает без конструктора. Но бывают классы без конструктора ;)

Но, наверное, можно поизвращаться и через RTTI попробовать вручную создать подобие экземпляра класса...

Alexander-Nosov Автор вопроса
Iurii Slobodchikov
Вряд ли. Инстанции не бывает без конструктора. Но ...

Бывает. Напримео, CALL TRANSFORMATION создает инстанцию без вызова конструктора

Alexander Nosov
Бывает. Напримео, CALL TRANSFORMATION создает инст...

Трансформируется же уже экземпляр класса, а не определение класса.

Alexander Nosov
screenshot можно

а кинь, плиз текстом. а то неохота набирать )

Alexander-Nosov Автор вопроса
Денис
а кинь, плиз текстом. а то неохота набирать )

CLASS lcl_dummy DEFINITION. PUBLIC SECTION. INTERFACES if_serializable_object. METHODS constructor. ENDCLASS. CLASS lcl_dummy IMPLEMENTATION. METHOD constructor. WRITE / 'constructor was called'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. DATA go_source TYPE REF TO lcl_dummy. DATA go_target TYPE REF TO lcl_dummy. go_source = NEW #( ). CALL TRANSFORMATION id SOURCE model = go_source RESULT XML DATA(lv_xml). CALL TRANSFORMATION id SOURCE XML lv_xml RESULT model = go_target.

Alexander-Nosov Автор вопроса
Iurii Slobodchikov
Трансформируется же уже экземпляр класса, а не опр...

в обратную сторону трансформируется XML в экземпляр класса

Alexander Nosov
в обратную сторону трансформируется XML в экземпля...

Ну да, и везде фигурирует именно экземпляр класса. А экземпляра без вызова конструктора быть не может.

Alexander Nosov
может, пример выше кинул))

Вот это же и есть вызов конструктора: go_source = NEW #( ).

Alexander Nosov
Смотри на это go_target

А, вот ты о чём... Да, о таком не задумывался)

Alexander Nosov
CLASS lcl_dummy DEFINITION. PUBLIC SECTION. ...

инстанции разные или одна и та же?

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта