pedgarhi Report post Posted 04/30/2008 11:04 AM Hi. I'm evaluating VoiceGuide version 7 with some vgs files that were working with version 6. My problem is that, when the program calls a subscript from another script and it arrives to the module where the "return" sentence is, it doesn't return to the previous script. The log file shows: 122824.687 4 1 Eval Expr result:[2] stored in RV[contError] 122824.687 4 1 path {2} found (at offset 18) 122824.687 4 1 findnectvgm - found directive: return 122824.718 4 1 ERROR v7.0.2985.21127 (Tue 04/03/2008 11:44:14.64) ScriptIo.VGMTYPE_EVALEXPR run next or hangup : Index was outside the bounds of the array. at ..(Int32 iLineId, Int32 iModuleIdx) What does this error mean? Any idea? Thanks. Share this post Link to post
SupportTeam Report post Posted 05/01/2008 11:14 AM Please update to this version of VG v7: [old link removed]If you encounter any further problems please post the traces (.ZIPed) and the scripts used. Share this post Link to post
pedgarhi Report post Posted 05/05/2008 10:09 AM I have installed the version of VoiceGuide v7 you recommended and it's working fine. Thanks a lot. However, vbs scripts are being executed slower. Is there any parameter that I could modify to improve the speed? Share this post Link to post
pedgarhi Report post Posted 05/05/2008 11:02 AM I have noticed another strange effect with the new version: when I use the CreateObject method inside a VBScript module, a new object is always created instead of using a previously existing instance of it. Share this post Link to post
SupportTeam Report post Posted 05/05/2008 12:47 PM Each VBScript execution is a new separate process. Any objects created within it last only as long as that task. How was it different in the previous version you used? Can you tell us more about what object you are creating? Do you require it to persist through the entire length of the call and destroy it when call is finished? A few users complained about VBScript speed problems in latest version. We are looking into this now. Share this post Link to post
pedgarhi Report post Posted 05/05/2008 03:33 PM I need this object to persist to all calls. It acts as a server, I want it to be running all the time. In fact, it is a automation server. The behaviour in the previous version was that the CreateObject always returned a reference to the existing instance of this object. Share this post Link to post
SupportTeam Report post Posted 05/05/2008 07:18 PM Is your object an ActiveX .EXE, or something else? When you run other separate applications calling CreateObject from within them do you still see the same reference returned all the time to them? Can yon create a cut down test version of this Automation Server which just returns some test string (eg: timestamp of when it was started) and post it in this thread. We can then run some tests with it on our test system to confirm behavior. Share this post Link to post
pedgarhi Report post Posted 05/06/2008 07:01 AM When I call CreateObject from a VBScript file, I get the same reference all the time. I have created a test version of my Automation Server. You have to use the following sentence to get the object reference: set server = CreateObject("TestInterfaceIVR.Server") This server implements two methods: StartCall(line) and EndCall(line). They both return a string with the word "success". I have attached some sample vbs files as well to show the way of calling these methods. When you call one of these methods, the change in the state of the line is reflected in the main window of the automation server. I've tried to open several instances of this server but I always get the reference to the first instance I started. When the application starts, it creates a trayicon you can use to maximize the main window. TestInterfaceIVR.zip Share this post Link to post
SupportTeam Report post Posted 05/09/2008 02:29 AM Tried running TestInterfaceIVR.exe, but error comes up saying that BORLNDMM.DLL cannot be found. Share this post Link to post
pedgarhi Report post Posted 05/09/2008 06:34 AM Sorry, I attach the missing dll. borlndmm.zip Share this post Link to post
SupportTeam Report post Posted 05/10/2008 04:44 PM We did run TestInterfaceIVR.exe and did notice that a new instance of it (not visible to user) is started when the VBScript which runs the CreateObject("TestInterfaceIVR.Server") command is ran from the VoiceGuide IVR Windows service. Not sure why Windows is doing this instead of using the existing instance of TestInterfaceIVR.Server. When we run VoiceGuide v7 in non-service mode (as a normal Windows .EXE) then the existing instance of TestInterfaceIVR.Server is attached to and no second instance of TestInterfaceIVR.Server gets created, so this issue has something to do with running the VBScript from the context of the Windows Service. Have not tried this yet, but I have one suggestion to try: Try setting the VoiceGuide IVR service to run as "Administrator" user, instead of the default "Local System Account". Open the Services applet and then edit the service's Properties. In the "Log On" tab the login account can be changed. Share this post Link to post