all groups > c# > february 2008 >
You're in the

c#

group:

executing vbscript functions from a C# winform app


executing vbscript functions from a C# winform app Kasper
2/10/2008 3:05:18 PM
c#:
Hi Group.

I have an old VB6 application which loads a number of gui controls
from an inifile and for each control the inifile states the name of
the vbscript that should be executed once the control is clicked or
otherwise triggered.
My question is whether it is possible to execute the vb scripts from
C#? There are multiple scripts in the same file.

If that is not possible I sure would like a hint about how I create a
winforms app where the eventhandler is defined at runtime, not
compiletime.

TIA

Re: executing vbscript functions from a C# winform app Marc Gravell
2/10/2008 3:32:33 PM
Well, the simplest way is to store something useful in the tag, and
simply have a shared handler, i.e.

private void foo_Clicked(object sender, EventArgs args) {
Control cont = sender as Control;
if(cont!= null) {
// do something with cont.Tag
}
}

Then when looping:

foreach(whatever) {
SomeControl foo = new SomeControl();
// init
foo.Tag = {something useful}; // could also use Name I suppose
foo.Clicked += foo_Clicked;
}

Depending on needs, you can do things a lot more sophisticated.

Re: executing vbscript functions from a C# winform app Marc Gravell
2/10/2008 3:33:16 PM
(you'll also need to add each "foo" onto the form somewhere ;-p)

Re: executing vbscript functions from a C# winform app Nicholas Paldino [.NET/C# MVP]
2/10/2008 8:05:09 PM
Kasper,

I think that the best option here is to refactor the VB6 app so that the
UI is contained in hostable ActiveX controls and then host those controls in
your C# app, and let the VB6 code that is being interoped with handle the
script (as you were before).

--
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com

[quoted text, click to view]
Re: executing vbscript functions from a C# winform app Cor Ligthert[MVP]
2/11/2008 1:54:41 AM
Kasper,

Would it not better to make this really good. As this is your design, then
in my opinion is using C# withouth sense. I would find then VB6 (If I knew
that program languqage good) probably a better option.

However, it would be in VB6 then probably as unsafe as it would be in C#.

Cor
AddThis Social Bookmark Button