[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 666
  • Last Modified:

How to run a Javascript function from VB and then get the return value?

Hi! :)

I currently have many libraries written in JavaScript and I do not want to translate them to Visual Basic 6.0. (NOT .net)

I need a way to call a JS function from VB and get the return value of the function back to VB.

I have been investigating and the following references might have part of the answer, but not all:
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21057068.html?query=execScript&clearTAFilter=true
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Controls/Q_21559213.html
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21515401.html

The above references say how to execute JS code from VB, but what I am looking is for is to execute JS and get the values back to VB, which is NOT found there (or not clear enough)

I will award full points to any user who can provide me the JS and VB working code that would implement the following JS function - the simplest function ever-, being called from VB, and getting the result of the function back from JS to VB:

function add(x,y)
{
return x+y;
}

That is: VB should be able to send parameters to JS function, and then get the result.

Thanks to everyone in advance. Your help will be really useful! :)
Thanks!!!
0
rodrix385
Asked:
rodrix385
  • 4
  • 3
1 Solution
 
BigRatCommented:
What you do is to create a ScriptControl object, load your code into it, attach a few events and then run it.

This tutorial might get you started :- http://rookscape.com/vbgaming/tutBQ.php
There's one from Microsoft on calling functions and getting a result :-

http://support.microsoft.com/kb/184740/en-us
0
 
rodrix385Author Commented:
Hi BigRat,
Your answer was INCREDIBLE!!!!

You gave me the BEST solution ever! I am so happy and so greatful.

However, I am still having a little problem. I went through your tutorial which explained how to add new classes and modules to the VBS Script.

However, using JS Script, I can't seem to manage to do that. I get an error saying "Cannot not add object because it's empty" (refferiing to my new Class with additional commands).

Any clues?

Anyways, what I am trying to do is to get the ERROR information from Javascript. Now when I get an error in the JS code, it just says error, and I am looking for the Error Description + Line Number.

Could you help me on how to set that up? That would make the JS parser completely functional :) :) :)

I have searched everywhere on the internet but this topic seem unknown... so I guess you're the only one who can help me.

I have increased the Point Value.

I really appreciate your help.
Thanks for everything!
Rod
0
 
BigRatCommented:
1. Error

The ScriptControl supports an Event OnError, which you can set an event handler. I'm not sure but it's probably IConnection.

The control supports an Error property which returns an IScriptError interface. The properties Description,Line and Column of that interface will give you what you want.

2. Problems with JS

I'd ask you to post or send me your code and I'll look through it.

Tip: the control resides is msscript.ocx which is probably in System32. It you have the OLEViewer you can view the type library of this control and see what properties and methods are available (if you understand a bit about IDL).
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
rodrix385Author Commented:
BigRat!

I can't believe how I left this question open!

Thank you for your wonderful answer. Thanks to you my VB and JS programming has changed completely.
THANK YOU THANK YOU THANK YOU!

In order to make up for the delay I am increasing the points and assigning all of them to you.

THANKS!
Best,
Rod
0
 
rodrix385Author Commented:
THANK YOU THANK YOU THANK YOU!!!
0
 
BigRatCommented:
Rat always waits patiently for cheese!
0
 
rodrix385Author Commented:
Thanks Bigrat!!!


I have another question specifically for you on this same subject :)

Check it here:
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_24282741.html

Thanks!
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now