5
Голосовать

Невозможно создание объекта сервером программирования объектов

Создано:

1. Запускаю файл *.cmd, в котором cscript LoadUnisender.js
2. LoadUnisender.js:

var Connector = new ActiveXObject('TSDskObjectLibrary.DskConnector');
var fso = new ActiveXObject('Scripting.FileSystemObject');
var xml = new ActiveXObject('TSObjectLibrary.XMLStorage');
var EmptyValue = new ActiveXObject('TSObjectLibrary.Value');
var fst = new Array('tbl_PVCRelease', 'tbl_PVCRequest');
...

При запуске файла cmd появляется ошибка:
c:\Program Files\3.4.0.49\Bin\LoadMailClient.js(1, 1) Ошибка выполнения Microsof
t JScript: Невозможно создание объекта сервером программирования объектов

Как исправить?

Комментарии

Евгений Либин

А где вы взяли эти скрипты?

Яворский Алексей

Здравствуйте,
Попробуйте использовать jsc вместо cscript

Как это сделать описано в статье
How to: Compile JScript Code from the Command Line
http://msdn.microsoft.com/en-us/library/7435xtz6(v=vs.80).aspx

To start the compiler from a Windows command prompt, you must run the application from within its directory or type the fully qualified path to the executable at the command prompt. To override this default behavior, you must modify the PATH environment variable, which enables you to run the compiler from any directory by simply typing the compiler name.

To modify the PATH Environment Variable

Use the Windows Search feature to find jsc.exe on your local drive. The exact name of the directory where jsc.exe is located depends on the name and location of the Windows directory and the version of the .NET Framework installed. If you have more than one version of the .NET Framework installed, you must determine which version to use (typically the latest version).

For example, the compiler may be located in C:\WINNT\Microsoft.NET\Framework\v1.0.2914.

Right-click the My Computer icon on your Desktop (Windows 2000), and select Properties from the shortcut menu.

Select the Advanced tab and click the Environment Variables button.

In the System variables pane, select "Path" from the list and click Edit.

In the Edit System Variable dialog box, move the cursor to the end of the string in the Variable Value field and type a semicolon (;) followed by the full directory name found in Step 1.

Continuing with the example in Step 1, you would type:

;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

Click OK to confirm your edits and close the dialog boxes.

After you change the PATH environment variable, you can run the JScript compiler at the Windows command prompt from any directory on the machine.

После чего вызывать компилятор через

jsc filename.js

У меня строки:

var Connector = new ActiveXObject('TSDskObjectLibrary.DskConnector');
print("1");
var fso = new ActiveXObject('Scripting.FileSystemObject');
print("2");
var xml = new ActiveXObject('TSObjectLibrary.XMLStorage');
print("3");
var EmptyValue = new ActiveXObject('TSObjectLibrary.Value');
print("4");
var fst = new Array('tbl_PVCRelease', 'tbl_PVCRequest');

Ошибки не вызвали, когда я компилировал через jsc

С уважением,
Яворский Алексей

Агутин Алексей

В версии 3.4.0 нет библиотеки TSDskObjectLibrary.dll.
Объект DskConnector перенесен в библиотеку TSWindowLibrary.dll. Поэтому для подключения необходимо использовать

var Connector = new ActiveXObject('TSWindowLibrary.DskConnector');

Анна Проненко
Евгений Либин пишет:

А где вы взяли эти скрипты?

Да, это Ваши :)

Анна Проненко
Агутин Алексей пишет:

В версии 3.4.0 нет библиотеки TSDskObjectLibrary.dll.
Объект DskConnector перенесен в библиотеку TSWindowLibrary.dll. Поэтому для подключения необходимо использовать

var Connector = new ActiveXObject('TSWindowLibrary.DskConnector');

Не помогло

Евгений Либин

На сколько я помню вопрос решился еще в пятницу :).
Достаточно было запустить ...Program Files\Terrasoft\Redist\ScriptControl_2003.exe

Анна Проненко
Евгений Либин пишет:

На сколько я помню вопрос решился еще в пятницу :).
Достаточно было запустить ...Program Files\Terrasoft\Redist\ScriptControl_2003.exe

У вас то получилось :) А я использую эти строки для своего модуля, он на версии 3.4.0.49.

Евгений Либин

всмысле?

Яворский Алексей

Анна, проверил на бинарных файлах 3.4.0.79, конфигурация CRM 3.4.0.79, код ниже, XML сервисов прикрепляю

//-----------------------------------------------------------------------------
// wnd_tstActiveXScript
//-----------------------------------------------------------------------------


function btnOKOnClick(Control) {
var Connector = new ActiveXObject('TSDskObjectLibrary.DskConnector');
var fso = new ActiveXObject('Scripting.FileSystemObject');
var xml = new ActiveXObject('TSObjectLibrary.XMLStorage');
var EmptyValue = new ActiveXObject('TSObjectLibrary.Value');
var fst = new Array('tbl_PVCRelease', 'tbl_PVCRequest');
}

function Main() {
        var Window = Services.GetNewItemByUSI('wnd_tstActiveX');
        Window.IsDesigning = false;    
        Window.Prepare();
        Window.Show(); 
}

По нажатию кнопки "Ок" никаких ошибок не возникло.
Предлагаю вам подгрузить сервисы, и проверить, не возникает ли у вас ошибок

Прикрепленный файлРазмер
tstactivex.rar 1.18 кб

С уважением,
Яворский Алексей

Агутин Алексей

Это возможно, только если Вы на компьютере уже использовали бинарники до версии 3.4.0. В таком случае библиотека остается зарегистрированной в системе. Если на компьютере устанавливалась только верси 3.4.0 - этой библиотеки (TSDskObjectLibrary) нет.

Евгений Либин

Скажите, а есть где-то описание изменений в объектах в 3.4?

Филимоненко Сергей
Анна Проненко пишет:
Агутин Алексей пишет:

В версии 3.4.0 нет библиотеки TSDskObjectLibrary.dll.
Объект DskConnector перенесен в библиотеку TSWindowLibrary.dll. Поэтому для подключения необходимо использовать

var Connector = new ActiveXObject('TSWindowLibrary.DskConnector');

Не помогло

Странно, должно было помочь. Скорее всего у Вас на момент запуска скрипта не были зарегистрированы библиотеки версии 3.4.0.
Вы запускали до этого Terrasoft 3.4.0 на этой машине?

Филимоненко Сергей
Евгений Либин пишет:

Скажите, а есть где-то описание изменений в объектах в 3.4?

Полная версия SDK по 3.4.0 находится в разработке
Основные изменения описал в прикрепленном документе.

Прикрепленный файлРазмер
librarychanges340vs332.docx 35.25 кб
Евгений Либин

Спасибо, Сергей.

Это нужный документ.
Ждем полную версию SDK.
Но хотелось бы еще получить информацию не только по бинарникам, но и по конфигурации, например, раньше для добавления раздела нужно было модифицировать форму wnd_Main и его скрипт. В 3.4 теперь всё это делается на уровне справочников и настроек.
Было бы интересно получить информацию такого плана (желательно подробную :) )

Филимоненко Сергей
Евгений Либин пишет:
Но хотелось бы еще получить информацию не только по бинарникам, но и по конфигурации, например, раньше для добавления раздела нужно было модифицировать форму wnd_Main и его скрипт. В 3.4 теперь всё это делается на уровне справочников и настроек.
Было бы интересно получить информацию такого плана (желательно подробную :) )

Первый пункт в поиске:
http://www.community.terrasoft.ua/search/node/3.4.0

И еще:
http://www.community.terrasoft.ru/usr/versions/usrversions3-4-0

Позже планируем предоставить более расширенную информацию для разработчиков по поводу работы с нововведениями в версии 3.4.0