Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory / 4 сообщений из 4, страница 1 из 1
09.10.2014, 15:49
    #38771933
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory
Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory... Пишет, что у него нет метода %New...

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
procedure TfMain.TmpConnect(Sender: TObject);
var
  obj,
  my_connection  : variant ;
  tmp_path,
  Server,
  Port,
  Space,
  User,
  Pass,
  ok,
  str,
  str_cnt    : string ;
  connected  : boolean ;
begin
  Server    := 'VERS' ;
  Port      := '1972' ;
  Space     := 'VERS' ;
  User      := '_System' ;
  Pass      := 'SYS' ;
  tmp_path  := 'abc.xml' ;
  str       := 'tmp.int' ;
  my_connection := CreateOleObject('CacheActiveX.Factory') ;
  str_cnt := 'cn_iptcp:' + Server + '[' + Port + ']:' + Space + ':' + User + ':' + Pass ;
  try
    if my_connection.IsConnected then
      my_connection.Disconnect ;
    connected  := my_connection.connect(str_cnt) ;
  except
    begin
      MessageBox(0, PChar('Не удалось соединиться с сервером ' + server),
        PChar('Экспорт'), MB_OK + MB_ICONWARNING) ;
      exit ;
    end ;
  end ;
  obj := my_connection.new('%SYSTEM.OBJ') ;
  ok  := obj.Export(str, tmp_path) ;
end ;


Как-то можно воспользоваться его методами Export и Load ?
----------
Cache for Windows (x86-64) 2012.2.2 (Build 801) Fri Dec 7 2012 12:08:23 EST
...
Рейтинг: 0 / 0
09.10.2014, 16:10
    #38771989
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory
krvsaПишет, что у него нет метода %New...Правильно пишет: нет у него такого метода.
Ваш код эквивалентен следующему на COS:

Код: plaintext
1.
2.
3.
4.
USER>s obj=##class(%SYSTEM.OBJ).%New()
 
S obj=##CLASS(%SYSTEM.OBJ).%New()
^
<METHOD DOES NOT EXIST> *%New,%SYSTEM.OBJ

Чтобы заработало используйте метод Static()
Код: pascal
1.
 obj := my_connection.new('%SYSTEM.OBJ') ;

Код: pascal
1.
 obj := my_connection.Static('%SYSTEM.OBJ') ;
...
Рейтинг: 0 / 0
09.10.2014, 16:20
    #38772004
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory
servit
Код: pascal
1.
 obj := my_connection.Static('%SYSTEM.OBJ') ;


Ща спробанем!
...
Рейтинг: 0 / 0
09.10.2014, 16:47
    #38772051
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory
servit , спасибо, все работает.
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Не получается работать с %SYSTEM.OBJ через CacheActiveX.Factory / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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