|
$compile
|
|||
---|---|---|---|
#18+
Наткнулся в доке на красивую функцию - $compile. Пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
В переменной TestA получаем многострочный объектный код, соответствующий структуре SourceCode. Хочется сохранить его в базе, и выполнять по мере надобности. Но xecute не может выполнить этот код: Код: sql 1. 2. 3. 4. 5.
Xecute может выполнить только одну строку М-кода:( Предложение: расширить возможности команды Xecute : - выполнять многострочный код; - выполнять многострочный объектный код; П.С. Согласен, если многострочный объектный код будет выполнять команда DO, что-то вроде do @TestA. П.П.С.Можно, конечно, сохранять объектный код, как объектную программу. Я сейчас генерирую программы с помощью класса %Routine. Мне не нравится, что в списке int-программ сотни модулей по паре строк в каждом. Причем, имена у них сгенерированы автоматически, типа: pOT01SKVXo0Xm22Xc3Xd20150201. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 14:17 |
|
$compile
|
|||
---|---|---|---|
#18+
DirksDR, Как вариант - все рутины генерировать с одним предопределенным именем, скажем TEMPCOMPILE, компилировать как рутину, полученный объектный код из ^rOBJ("TEMPCOMPILE") сохранить себе. Для выполнения его вставить скажем в ^rOBJ("TEMPEXEC") и выполнять рутину d ^TEMPEXEC. Для выполнения исходники (INT) не нужны, можно удалить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 22:57 |
|
$compile
|
|||
---|---|---|---|
#18+
ну я, А интерфейс %Library.Routine не удобнее будет для этого? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 07:08 |
|
$compile
|
|||
---|---|---|---|
#18+
Мне казалось, я в этот пост в топик "новые фичи" запостил. Не годится? ИМХО, не очень сложная доработка. Раз Cache выполняет объектный код из глобали ^rOBJ("TEMPEXEC"), почему бы не выполнить такой же код из глобали, скажем, ^MyObj(ObjType, AtrType, Date). ну я, Из соображений производительности не хочется гонять объектный код из глобали в глобаль, чтобы выполнить как программу. В описании функции $compile сказано, что она может сохранять код сразу в ^rOBJ. Надо проверить, будет ли формироваться int-модуль, почему-то думаю, что не должен. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2017, 07:38 |
|
|
start [/forum/topic.php?fid=39&msg=39497484&tid=1556330]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 139ms |
0 / 0 |