Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

MSScriptControl   Найти похожие ветки 

 
Michail Dalakov ©   (2004-03-16 01:38) [0]

Кто работал с MSScriptControl подскажите как правильно из скрипта вызвать ф-ию COM-объекта имеющую несколько параметров, при вызове ф-ии имеющую один параметр все OK! При вызове ф-ии с
большим числом параметров возникает ошибка о недопустимом использовании скобок, ???


 
Michail Dalakov ©   (2004-03-16 17:37) [1]

Видимо никому не понадобилось, но все же, хоть какие нибудь предположения...
Помнится как то пробовал вызывть ф-ии из dll прямо из командной строки, так вот там ограничения точно были, может быть здесть тоже что то есть
Хотя контрол является Microsoft-овским и находится в msscript.ocx
никакого описания нигде найти не мог, даже в MSDN


 
Плохиш   (2004-03-16 17:45) [2]

И здесь тоже искал?
http://search.yahoo.com/search?p=use+msscript.ocx&ei=UTF-8&fr=fp-tab-web-t&n=20&fl=0&x=wrt


 
jack128 ©   (2004-03-16 17:47) [3]

У Анатолия Подгоретского на сайте была статья Тенцера по скриптконтролу. Посмотри, авось чего почерпнешь..


 
nikkie ©   (2004-03-16 18:13) [4]

имхо, если "возникает ошибка о недопустимом использовании скобок", то скобки надо убрать.


 
Michail Dalakov ©   (2004-03-16 18:33) [5]

Привожу кусок скрипта

 with ao
    .conffilename="client\MainServerProcess.xml"
    .alias="MSDB2004"
    .Build("BuildFileName=MainServerBuild.xml",UnitsID)
    .SendData("ReadyFileName")  
 end with

ao - объект автоматизации создается в программе
var
 ao:IDispatch;
begin
 ao:=CreateOleObject("Sync.AO");
 sc.AddObject("ao",ao,false);
....

Так вот на методе  
.Build("BuildFileName=MainServerBuild.xml",UnitsID)

exception class EOleException with message "Недопустимо использование скобок при вызове процедуры Sub". Process stopped.


 
just me   (2004-03-16 18:47) [6]

ИМНО вместо Build("BuildFileName=MainServerBuild.xml",UnitsID) нужно писать Build "BuildFileName=MainServerBuild.xml", UnitsID


 
Плохиш   (2004-03-16 18:52) [7]


> Так вот на методе  
> .Build("BuildFileName=MainServerBuild.xml",UnitsID)

Какое отношение эта запись имеет к делфи?


 
Michail Dalakov ©   (2004-03-16 19:04) [8]

На
Build "BuildFileName=MainServerBuild.xml", UnitsID

exception class EOleException with message "Несоответствие типа: "Build". Process stopped.

вылетает в MSScriptControl_TLB на

function TScriptControl.Run(const ProcedureName: WideString; var Parameters: PSafeArray): OleVariant;
begin
 Result := DefaultInterface.Run(ProcedureName, Parameters);
end;


 
Michail Dalakov ©   (2004-03-16 19:10) [9]

To Плохиш (16.03.04 18:52) [7]

А для чего вообще нужна возможность встраивать интерпретатор какого нибудь языка в свою программу?


 
Плохиш   (2004-03-16 19:19) [10]

>Michail Dalakov ©   (16.03.04 19:10) [9]

Использование OLE-объектов не отменяет требования к синтаксису языка в котором они используются!


ao.Build("BuildFileName=MainServerBuild.xml",UnitsID);


 
Michail Dalakov ©   (2004-03-16 19:38) [11]

To Плохиш   (16.03.04 19:19) [10]

Это ты приводишь пример вызова на Delphi

А когда ты выполняешь скрипт (который грузишь, например из какого нибудь файла), то твои вызовы в скрипте

.Build("BuildFileName=MainServerBuild.xml",UnitsID)

транслируются в вызовы реального объекта, в данном случае интерпретатор не понимает, что означает
.Build("BuildFileName=MainServerBuild.xml",UnitsID)
почему не известно,
если переписать ф-ию например в виде
.Build("BuildFileName=MainServerBuild.xml$$$UnitsID") то здесь интерпритатор отрабатывает нормально

Так вот вопрос в чем же все таки проблема, в ограничении интерпретатора одним передаваемым параметром или неправильным указанием того, что он должен интерпретировать?


 
just me   (2004-03-16 20:00) [12]

Еще раз повторю - скобки при вызове функций в скрипте не нужны. См. например MSDN->Knowledge base->Visual Basic->Visual Basic for Windows->HOWTO: Call Functions Using the Script Control
Возможно нужно вызывать так:
Build "MainServerBuild.xml", UnitsID


 
just me   (2004-03-16 20:04) [13]

Еще раз повторю - скобки при вызове функций в скрипте не нужны. См. например MSDN->Knowledge base->Visual Basic->Visual Basic for Windows->HOWTO: Call Functions Using the Script Control
Возможно нужно вызывать так:
Build "MainServerBuild.xml", UnitsID


 
nikkie ©   (2004-03-16 21:44) [14]

>Еще раз повторю - скобки при вызове функций в скрипте не нужны.
как раз при вызове функции нужны. не нужны при вызове процедуры.
впрочем, в этом HOWTO написано, что если функция вызывается как процедура, то тоже скобки не нужны. странный язык vb...



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.027 c
1-1079625757
shady
2004-03-18 19:02
2004.04.04
Кол-во строк


14-1078460059
Rouse_
2004-03-05 07:14
2004.04.04
C Днем Рождения 5 Марта


1-1079689062
bjohny
2004-03-19 12:37
2004.04.04
Компилятор


9-1064613263
Sacred
2003-09-27 01:54
2004.04.04
Посоветуйте сайт с 3ds моделями....


1-1079270474
YurikGl
2004-03-14 16:21
2004.04.04
EhLib