Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
28.09.2021, 11:35
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Здравствуйте! Есть ли простой способ программного копирования программ (рутин) из одной области в другую без экспорта - импорта в файл. Cache 5.0.21 !!! Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 12:46
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Есть ли простой способ программного копирования программ (рутин) из одной области в другую без экспорта - импорта в файл. Конечно есть. Например можно прочитать текст программы (если он есть конечно)... Перейти в другую область... Записать там его и откомпилировать. Смотри какие классы работают с программами. Я на память уже не помню. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 12:48
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
krvsa Смотри какие классы работают с программами. Я на память уже не помню. Во, нашел... https://docs.intersystems.com/latest/csp/documatic/%CSP.Documatic.cls?&LIBRARY=%SYS&CLASSNAME=%Library.Routine ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 13:04
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Эту библиотеку смотрели. Компилирование нашли, сохранение нашли, удаление нашли. А как открыть не нашли). Плохо смотрели? Может пример, если не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 13:25
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad А как открыть не нашли). Плохо смотрели? Собственно "открывать" и не нужно... Нужно читать. Там есть методы Код: javascript 1.
и Код: javascript 1.
Olegnomad Может пример, если не сложно. Там и пример есть у ReadLine Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 13:32
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad , понял я про "открытие"... Давно с этим дело не имел. Код: javascript 1.
Аналогичная фигня - только %Open() . Это ведь все стандартные методы, доставшиеся этому классу от родителя, только переопределенные... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 14:37
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad , что-то сомнения меня терзают по поводу этого "открытия"... Вот пример как работают с файлами Код: javascript 1. 2. 3. 4.
Вполне возможно что с программками будет такая же картина... P.S. Все позабыл... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 15:19
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Set routine = ##class(%Routine).%New("MyRoutine.MAC") работает, хотя в %Routine нет %New(). Это системная команда? С %Open не работает. Open есть в Stream, но там нужен OID. Вроде операция простая - копирование, но что-то не получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 18:43
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Код: javascript 1.
работает, хотя в %Routine нет %New(). Это системная команда? Сам класс унаследован от других классов - %New() идет от родителей, но может быть переопределен в самом классе "под себя"... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
28.09.2021, 22:56
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad, как вариант тупо и просто : перебросить рутину в локаль - построчно в цикле перейти в другую область (ZN) из локали перекинуть в новую рутину - построчно в цикле (ZI) сохранить (ZS) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2021, 03:38
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#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:56
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#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, 12:58
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
MX-9, С MAC-программами такой номер не пройдёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2021, 14:04
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Чисто теоретически... Можно просто скопировать нужные узлы из "программных" глобалов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2021, 14:13
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2021, 15:20
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#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:44
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#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, 16:00
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? Если запустить поиск ^%R( в классе %Library.Routine, то можно получить какое-то представление. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.09.2021, 16:39
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Пока пробуем программно использовать %RCopy. Она внутри вызывает %R. Копирование вроде получилось. С компиляцией проблема. На %R есть где-нибудь описание? Может, .INC тоже надо копировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
30.09.2021, 18:40
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.10.2021, 15:41
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Спасибо всем откликнувшимся! Копирование вроде работает. Но нам нужно предварительно очистить всю область от программ и глобалей. Не можем построить список программ в области. Используем ^$ROUTINE и %RD. Удаляются не все программы. Хотя проводник показывает пустую область. В Telixe программы видны. В чем подвох? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.10.2021, 22:41
|
|||
---|---|---|---|
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Не можем построить список программ в области. Так вроде там была какая-то "особенная" глобаль (или глобал)... Типа Код: javascript 1.
По ней нужно было пройтись... Узлами как раз были имена программ. В классе есть метод по выборке программ Код: javascript 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.10.2021, 05:35
|
|||
---|---|---|---|
|
|||
Программное копирование программ (рутин) |
|||
#18+
Olegnomad Но нам нужно предварительно очистить всю область от программ и глобалей. Не можем построить список программ в области. У меня когда-то работала программа зачистки и сборки пакета в области, попробуйте этот текст, может поможет: - - - - - Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=39&mobile=1&tid=1556094]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 248ms |
total: | 395ms |
0 / 0 |