powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Параметры по ссылке при использовании MSM Activate
15 сообщений из 15, страница 1 из 1
Параметры по ссылке при использовании MSM Activate
    #36165434
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Помогите кто чем может!
Решили попробовать в Cache 2008 коннект с базой MSM посредством MSM Activate.
Проблема с методом Do, а точнее с передачей параметра по ссылке.
Выполнение (см пример) функции MSM не возвращает измененное значение параметра.
Значение свойства DoMode на результат никакого влияния не оказывает.

В MSM разрешаем и настраиваем MSM Activate.
Устанавливаем пакет MSM Activate, затем с помощью Master Cache Activate (MCommand v 4.4) создаем классы Activate.MSMOLE.MCommand, Activate.MSMOLE.ICommand и в терминале Cache набираем:
S M=##class(Activate.MSMOLE.MCommand).%New()
S M.Server="127.0.0.1",M.Port="1666",M.UCI="MGR",M.Volgrp="MGR",M.Username="MGR",Password="MGR"
S B="Hello"
D M.Login(Password)
S A=M.Do("ENTRY^TEST",B)

Код M функции:
TEST
ENTRY(X)
S X="Goodbye"
Q "Done"

После выполнения метода Dol, A="Done" , а B="Hello".

И еще, если изменить значение свойства DoMode: S M.DoMode=1, то просмотр значения свойства дает -1, а не 1. (W M.DoMode)
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36165617
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы свободно можете запустить сервер MSM-Activate в Cache из области %SYS
точно так же как и в MSM ...

1. Do ^APIMGR ;)

Имея два конекта свободно можно обменяться данными
Я например использую такой подход в клиентских приложениях
Обьявляю два обьекта M.Command и C.Command ну а дальше дело техники

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Set m = CreateObject("m.Command")
m.Server = "192.168.1.80"
m.PORT =  1666 
m.UCI = UCI.Text
m.Volgrp = VOL.Text
m.Login

Set с = CreateObject("m.Command")
с.Server = "192.168.1.1"
с.PORT =  2222 
с.Login
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36165651
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы свободно можете запустить сервер MSM-Activate в Cache из области %SYS
точно так же как и в MSM ...

1. Do ^APIMGR ;)

Имея два конекта свободно можно обменяться данными
Я например использую такой подход в клиентских приложениях
Обьявляю два обьекта M.Command и C.Command ну а дальше дело техники

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Set m = CreateObject("m.Command")
m.Server = "192.168.1.80"
m.PORT =  1666 
m.UCI = UCI.Text
m.Volgrp = VOL.Text
m.Login

Set с = CreateObject("m.Command")
с.Server = "192.168.1.1"
с.PORT =  2222 
с.Login
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36165663
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
net что-то глючит, извиняюсь .
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36166153
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,

С коннектом все понятно!
Непонятно почему не работает печедача параметра по ссылке
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36171978
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ АУ!!!
Что-то темка провисла.
И все таки у кого нибудь получалось передача в методе Do параметра по ссылке через MSM Activate? Может быть есть примеры не на Cache'.
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172082
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работает тоны кода, правда я на Васика

Basic:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public m As MCommand
Private Sub Form_Load()
Dim B As String, A As String

Set m = CreateObject("m.Command")
m.Server = "192.168.1.101"
m.Port =  2222 
m.Login
m.Xecute ("ZN ""user""")
MsgBox "Succesfull DataBase Connected !  You Namespace is " & m.Xecute("W $ZNSpace") & " " & m.Xecute("W $ZV")

 B = "Hello"
 A = m.Do("ENTRY^TEST", B)
 MsgBox A & "    " & B
End Sub

На Сасне:

Код: plaintext
1.
2.
3.
4.
TEST ;;me test
ENTRY(X)
 S ^Hello=X 
 S X="Goodbye"
 Q "Done"

И получаем на клиенте:

A="Done"
B="Goodbye"

а в глобаль ^Hello="Hello"

.....
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172106
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще
Параметров 17 штук - можно пользоваться по отдельности для передачи и для приема

Код: plaintext
M.Do "ENTRY^TEST", Par1, Par2, ... Par17
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172190
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще .
Может я не прав но, Вы присвоили значение в терминале для В, а Activate выполняется
ка бы не в терминале и вот, Ваша переменная остается неизменной ...
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172610
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,

Да, действительно на Бэйсике работает, а в Каше нет!
Кстати параметров можно использовать только 16.
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172618
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще пробовали на C#. Результат отрицательный.
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36172850
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря C# не знаком, но на C, C++ должно работать точно ( Java,Delphi,Builder etc.)

Но говорят примерно так:

If your client environment supports ActiveX controls or COM objects (formerly known as OLE objects) then MSM-Activate/COM provides a simpler interface and more functionality than MSM-Activate/API. Extract from MSMA8API.HLP documentation for MSM-Activate 4.4.0 copyright © 1998 Micronetics Design Corporation
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36174594
ВячеславП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriu,

Сейчас пробовал на CacheBasic - НИ ФИГА!

А Вы Бейсик пользуете какой? (Не встроенный в Каше)
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36175989
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все-таки хотите из Cache все это развернуть ...
Где-то на этом форуме тоже подсказали создать обьект Activate в Cache и попробовать. Дело не пошло изначально и я перебазировался на клиенте. Т.е. , прогон данных между узлами MSM - Cache делаю через клиент (в данном случае на Visual Basic)

Мое мнение, что все приложения (бизнес логика на М-прямой доступ) с использованием этого продукта, можно портировать абсолютно без всякого изменение исходного кода на всех известных на сегодня MUMPS системах: GT.M, M21 etc, не говоря естественно об Cache и MSM
А вот классы ...
...
Рейтинг: 0 / 0
Параметры по ссылке при использовании MSM Activate
    #36175999
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то здесь отдавал в "хорошие руки" модуль Activate для PHP ... Можно тоже скачать и попробовать.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Параметры по ссылке при использовании MSM Activate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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