Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-1074777459
TCrash
2004-01-22 16:17
2004.04.04
Как привязать ServerSocket к определенному адресу


6-1075433732
Женя
2004-01-30 06:35
2004.04.04
Появление компа в сети


14-1078870598
Rauf
2004-03-10 01:16
2004.04.04
Как обратиться за помощью к borland, куда писать!!!


14-1078564161
Rauf
2004-03-06 12:09
2004.04.04
Помогите с Аськой!!!


1-1079422455
fika
2004-03-16 10:34
2004.04.04
Unicode





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский