1

We currently use a Sax Basic OCX that allows us to edit some custom .bas files and then execute them in our main app. The OCX includes a VB6 language syntax editor and the files do not require any compilation after saving (it is all handled in the OCX). It also allows us to expose classes to the files and we can then call the methods within these classes.

This allows our customers to do tweaks the functionality of the main program without having to issue a different binary- basically the VB6 app executes a .bas file of code when instructed.

Does anyone know of anything that will do all this in VB.NET?

I am thinking that this could all be done in a custom .NET app but it I can't see a way round not requiring compilation, and there is a lot of work involved!

Matt Wilko
  • 26,994
  • 10
  • 93
  • 143
  • Have you seen the other questions about [embedding](http://stackoverflow.com/questions/2609794/pros-cons-of-embedded-scripting-environments) a [scripting](http://stackoverflow.com/questions/1067784/c-net-scripting-library) language in a .Net application? Your requirement for an editor seems to be new. – MarkJ Jan 27 '11 at 04:38

1 Answers1

1

There is a free reusable text editor component in http://www.icsharpcode.net/, and vb.net compiler is a part of framework (i.e., is available on all the client boxes).

Update: If a native vb.net compiler is too slow, there is an option of using a managed vb.net implementation from Mono.

SK-logic
  • 9,605
  • 1
  • 23
  • 35
  • It may sound odd but I don't want the customers to have to wait for their code to compile as this will be seen as a backwards step and currently they just save the file. – Matt Wilko Jan 26 '11 at 14:52
  • vbc.exe typically runs in less than a second. But, of course there is an alternative - you can reuse a managed vb.net compiler from Mono, this way you don't need to write anything into a temporary file and spawn a separate compiler process. And, obviously, a scripting language like IronPython will fit your requirements better. – SK-logic Jan 26 '11 at 14:55