AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.08.2005, 20:57   #1  
Gorlum is offline
Gorlum
Участник
 
15 / 10 (1) +
Регистрация: 08.06.2005
Com Connector и вызов статического метода
Нужно через Com Connector, например на Delphi, создать таблицу Test,
установить ее свойство Temporary в "Yes".

Делаю так:

Axapta := CreateOLEObject('AxaptaCOMConnector.Axapta2');
res:=Axapta.Logon2('admin', '', 'dat', '', '', '');
newtable := tablesRoot.Call('AOTadd','Test');
newtable := tablesRoot.Call('AOTfindChild','Test');
ShowMessage(newtable.Call('AOTName'));
properties := newTable.Call('AOTgetProperties');
ShowMessage(properties);
Axapta.CallStaticClassMethod('Global','setProperty',properties,'Temporary','Yes');
newTable.Call('AOTsave');

Этот кусок отрабатывает без видимых ошибок, выводятся правильные значения
имени таблицы и переменной properties , но Temporary в Yes не устанавливается.


Видимо, ошибка в строке:
Axapta.CallStaticClassMethod('Global','setProperty',properties,'Temporary','Yes');
Может, кто подскажет, как нужно ее правильно формировать, запутался что-то.
Properties, 'Temporary' и 'Yes' - это аргументы статического метода setProperty.
Старый 10.08.2005, 21:11   #2  
Gorlum is offline
Gorlum
Участник
 
15 / 10 (1) +
Регистрация: 08.06.2005
Так тоже не получается:

Axapta.CallStaticClassMethod('Global','setProperty("'+properties+'","Temporary","Yes")');
Старый 11.08.2005, 01:39   #3  
maximus is offline
maximus
Участник
 
153 / 10 (1) +
Регистрация: 16.03.2005
У Вас в коде не хватает вызова AOTsetProperties. Однако, и с ним не работает. Какой-то косяк в коннекторе. В X++ все работает.

PHP код:
   treeNode treenode::findNode('\\Data Dictionary\\Tables\\test');
    
properties treenode.AOTgetProperties();
    
properties = global::setProperty(properties,'Temporary','Yes');
    
treenode.AOTsetProperties(properties);
    
treenode.AOTsave(); 
Мысли следующие - а надо оно вам создавать таблицу из коннектора? Сделайте статичесткий метод в классе, который создает таблицу и вызывайте его из коннектора. В противном случае придется соорудить свой статический метод изменения свойств на основе X++как показано выше и вызывать его вместо AOTsetProperties.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при вызове COM-метода koraman DAX: Программирование 8 23.10.2014 09:57
Вызов статического метода сборки Eldar9x DAX: Программирование 8 24.04.2008 12:01
танцы с бубном - COM Объект не имеет метода 'worksheets' Artem Mikhailov DAX: Программирование 4 05.02.2007 14:25
Объект, как параметр COM-метода Андре DAX: Программирование 10 22.03.2006 18:21

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:39.