Monday October 30, 2006
Project Semplice and ActiveX controls The idea behind Project Semplice is to take existing VB6 applications and run them ontop of the Java platform. One of the caveats was that we said that we would not support any ActiveX controls. The thinking behind this is that ActiveX controls are not very portable and don't run on all the architectures that the Java platform runs on. And then of course there are some security concerns about ActiveX controls.
After looking at some serious, real-world VB application we realized that they are using lots of 3rd party controls. Of course this would mean that people trying to give Project Semplice a try by compiling their existing VB application would fail to make them work. When I try a new product and the first thing I do fails, I am usally very disappointed.
The solution that we have come up with is to supply a simple COM server for Java that would allow connecting to ActiveX controls with Project Semplice applications. That way people can more easily try their existing applications on Project Semplice. Of course the long term goal would still be to replace the ActiveX controls with controls from the Java world, but at least this is an easy way to get started.
Let's look at an example. Say we have a VB6 application and with an ActiveX movie player control on a form. Then we import the application into Netbeans and compile the imported application. First the compiler tries to look on the classpath to resolve any form components found in the project. Otherwise it will generate code for starting the COM server and some adapter classes so that the ActiveX control can be displayed in the Java/Project Semplice form.
When we try to execute the compiled application and we are on a non-Windows platform then the application will start up with a message box warning you that some of the controls are not available on the platform you are running. On the forms of the application there will be a special icon in place of the ActiveX control indicating missing functionalty. When you are running on a Windows platform on the other hand, then the COM server will be started and the application will execute and look just like the original VB6 application. With one difference. We will open a message box warning you that you are about to execute an ActiveX control. This is to alert you that there are some safety concerns about ActiveX (which uses a quite different security model than Java).
Please let us know what you think about this!
Technorati Tags: VB, Visual Basic, Java, Project Semplice
Posted by herbertc ( Oct 30 2006, 02:40:00 PM PST ) Permalink Comments [0]Project Semplice - Update Just to show you that we are still working hard on Project Semplice, here is quick status update.
Recently we got another sample application from the original VisualBasic 6 distribution working. The Optimize application is a little benchmark application demonstrating the execution speed of VisualBasic. So far there wasn't really anything you could compare the results against, but now we can run it with Project Semplice and compare it against the original. Lower numbers are better and, as you can see, the results are encouraging. The VB6 application is compiled (not interpreted!), everything else would be unfair, obviously, since the Project Semplice code is compiled by the Java Virtual Machine as well.
First, the original VB6 application screenshot:
And finally, the Project Semplice application screenshot (there is some more UI work needed in our libraries as can easily be seen):
Technorati Tags: VB, Visual Basic, Java, Project Semplice
Posted by herbertc ( Oct 09 2006, 02:33:00 PM PDT ) Permalink Comments [1]