AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Вызов суб-скрипта

 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
ilia



Joined: 30 Oct 2016
Posts: 2

PostPosted: Mon Dec 12, 2016 7:29 pm    Post subject: Вызов суб-скрипта Reply with quote

Есть два скрипта, один вызывается из другого.
Вот они:

Скрипт 1 (вызывающий): (клик для показа скрипта)
Code:
//test_main.js
// test main-script

var nCode =0;
var i = 0;

main();

function main()
{
   for (i=0;i<5;++i)
   {
   WScript.Echo("call #" + i );
   nCode=AkelPad.Call("Scripts::Main",     1     , "test_sub1.js", " -Code=" + i);
   }
}



суб-Скрипт 2 (вызываемый): (клик для показа скрипта)
Code:
//test_sub1.js
// test sub-script
//return arg

var nCode1 =0;

main1();

function main1()
{
   nCode1 = AkelPad.GetArgValue("Code", 255);
   WScript.Echo("-- Inside " + nCode1);
}


код вызова основного скрипта из кнопки на тулбаре:
Code:
Call("Scripts::Main",  1  ,"test_main.js")


Внимание, вопрос:
Хочу вызвать скрипт, дождаться его окончания, получить из него код возврата (если я правильно понимаю смысл метода AkelPad.ScriptExitCode(nCode) ) и продолжить в зависимости от результата.
Пока что не получается дождаться отработки суб-скрипта.

при таком вызове получаю
Code:
call #0   
call #1   
call #2   
call #3   
call #4   
-- Inside 0
-- Inside 1
-- Inside 2
-- Inside 3
-- Inside 4


Если в основном скрипте применить
AkelPad.Call("Scripts::Main", 2, "test_sub1.js", " -Code=" + i);
то суб-скрипт своеобразно "виснет": в Акеле можно работать, но если нажать Esc, происходит дальнейшее исполнение скрипта.
Code:
call #0 --> будто все закончилось, но после нажатия Esc
call #1 --> будто все закончилось, но после нажатия Esc
и тд.
call #2
call #3
call #4 --> будто все закончилось, но после нажатия Esc выход из Акеля


И собственно почему и что я делаю не так?
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 3052
Location: Киев, Русь

PostPosted: Fri Dec 16, 2016 10:10 pm    Post subject: Reply with quote

В скрипт-2 оборачиваете в функцию.
В скрипте-1 подключаем 2-й скрипт с помощью Include и вызываем функцию.

Есть вроде и js-функция, которая вызывает на выполнение скрипт, Exec вроде, но это изврат.
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2215
Location: Vinnitsa, Ukraine

PostPosted: Fri Dec 16, 2016 10:28 pm    Post subject: Reply with quote

Ну можно ещё (eval, eval)(AkelPad.ReadFile(.....)) Laughing
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group