Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Вниз
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.05 c