|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть ли простой способ программного копирования программ (рутин) из одной области в другую без экспорта - импорта в файл. Cache 5.0.21 !!! Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 11:35 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Есть ли простой способ программного копирования программ (рутин) из одной области в другую без экспорта - импорта в файл. Конечно есть. Например можно прочитать текст программы (если он есть конечно)... Перейти в другую область... Записать там его и откомпилировать. Смотри какие классы работают с программами. Я на память уже не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 12:46 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
krvsa Смотри какие классы работают с программами. Я на память уже не помню. Во, нашел... https://docs.intersystems.com/latest/csp/documatic/%CSP.Documatic.cls?&LIBRARY=%SYS&CLASSNAME=%Library.Routine ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 12:48 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Эту библиотеку смотрели. Компилирование нашли, сохранение нашли, удаление нашли. А как открыть не нашли). Плохо смотрели? Может пример, если не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 13:04 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad А как открыть не нашли). Плохо смотрели? Собственно "открывать" и не нужно... Нужно читать. Там есть методы Код: javascript 1.
и Код: javascript 1.
Olegnomad Может пример, если не сложно. Там и пример есть у ReadLine Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 13:25 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad , понял я про "открытие"... Давно с этим дело не имел. Код: javascript 1.
Аналогичная фигня - только %Open() . Это ведь все стандартные методы, доставшиеся этому классу от родителя, только переопределенные... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 13:32 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad , что-то сомнения меня терзают по поводу этого "открытия"... Вот пример как работают с файлами Код: javascript 1. 2. 3. 4.
Вполне возможно что с программками будет такая же картина... P.S. Все позабыл... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 14:37 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Set routine = ##class(%Routine).%New("MyRoutine.MAC") работает, хотя в %Routine нет %New(). Это системная команда? С %Open не работает. Open есть в Stream, но там нужен OID. Вроде операция простая - копирование, но что-то не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 15:19 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Код: javascript 1.
работает, хотя в %Routine нет %New(). Это системная команда? Сам класс унаследован от других классов - %New() идет от родителей, но может быть переопределен в самом классе "под себя"... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 18:43 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad, как вариант тупо и просто : перебросить рутину в локаль - построчно в цикле перейти в другую область (ZN) из локали перекинуть в новую рутину - построчно в цикле (ZI) сохранить (ZS) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2021, 22:56 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Здравствуйте! Есть ли простой способ программного копирования программ (рутин) из одной области в другую без экспорта - импорта в файл. Cache 5.0.21 !!! USER>D ^%RCOPY Copy routine(s): * To: ? Enter a routine using one of the following formats: ROUTINE (assumes extension MAC if it exists, INT otherwise) or ROUTINE.EXTENSION (assumes version 0) or ROUTINE.EXTENSION.VERSION or |"NAMESPACE"|ROUTINE.EXTENSION.VERSION ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 03:38 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
DIMAS>D ^%RCOPY Copy routine(s): *.MAC To: |"USER"|*.MAC Copy routine(s): Generate backups? No => No Compile? Yes => Yes Display Errors? Yes => Yes Overwrite Existing Routines? Yes => Yes Display routine names on Device: Right margin: 80 => BuildVersion.MAC -> |"USER"|BuildVersion.MAC - COMPILED DIMAS>W $ZV Cache for Windows (x86-64) 2012.2.5 (Build 962_2) Fri Feb 17 2017 13:15:45 EST DIMAS> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 03:56 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
MX-9, С MAC-программами такой номер не пройдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 12:58 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Чисто теоретически... Можно просто скопировать нужные узлы из "программных" глобалов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 14:04 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 14:13 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad, может так пойдёт: USER>set r=##class(%Routine).%OpenId("BuildVersion.MAC") USER>zw r=<OBJECT REFERENCE>[1@%Library.Routine] USER>w r.Name BuildVersion USER>w r.Compile() Компиляция программы: : BuildVersion.MAC1 USER> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 15:20 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
или все программы скомпилировать: USER>w ##class(%Routine).CompileAll() Compiling in namespace USER at 22:39:47 BuildVersion.MAC 1 routines compiled with 0 errors at 22:39:471 USER> ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 15:44 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? Если запустить поиск ^%R( в классе %Library.Routine, то можно получить какое-то представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 16:00 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? Может, .INC тоже надо копировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2021, 16:39 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2021, 18:40 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Спасибо всем откликнувшимся! Копирование вроде работает. Но нам нужно предварительно очистить всю область от программ и глобалей. Не можем построить список программ в области. Используем ^$ROUTINE и %RD. Удаляются не все программы. Хотя проводник показывает пустую область. В Telixe программы видны. В чем подвох? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 15:41 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Не можем построить список программ в области. Так вроде там была какая-то "особенная" глобаль (или глобал)... Типа Код: javascript 1.
По ней нужно было пройтись... Узлами как раз были имена программ. В классе есть метод по выборке программ Код: javascript 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2021, 22:41 |
|
Программное копирование программ (рутин)
|
|||
---|---|---|---|
#18+
Olegnomad Но нам нужно предварительно очистить всю область от программ и глобалей. Не можем построить список программ в области. У меня когда-то работала программа зачистки и сборки пакета в области, попробуйте этот текст, может поможет: - - - - - Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 05:35 |
|
|
Start [/forum/topic.php?fid=39&tid=1556094]: |
0ms |
get settings: |
32ms |
get forum list: |
9ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
52ms |
get topic data: |
51ms |
get forum data: |
5ms |
get page messages: |
879ms |
get tp. blocked users: |
3ms |
others: | 143ms |
total: | 1186ms |
0 / 0 |