C#
Silverlight
Access
VB.NET
PowerBuilder
Winforms
ASP.NET Web Forms
Java
Delphi
XML
J2EE
Sharepoint
Windows XP
Informix 4GL
Unisys Linc
Application Assessment
Migration Blueprint
Migration Guide
Post Migration Services
Migration Methodology
Translation with SnowConvert
Edit, Debug & Deploy
Automated Test Case Generation
Metadata Analysis
Source Code Management
Migration and Other Snowflake Services
Get Up and Running with Snowpark
Using the SnowConvert Trial
Build a Cross-Platform Object Inventory
C#
Silverlight
Access
VB.NET
PowerBuilder
Winforms
ASP.NET Web Forms
Java
Delphi
XML
J2EE
Sharepoint
Windows XP
Informix 4GL
Unisys Linc
Application Assessment
Migration Blueprint
Migration Guide
Post Migration Services
Migration Methodology
Translation with SnowConvert
Edit, Debug & Deploy
Automated Test Case Generation
Metadata Analysis
Source Code Management
Migration and Other Snowflake Services
Get Up and Running with Snowpark
Using the SnowConvert Trial
Build a Cross-Platform Object Inventory
There are some cases when a company might want to convert some of its VB6 modules to .NET and keep using them in a COM environment.
E.g.: convert the logic libraries and keep the front end in VB6. The “COM Visible” feature was implemented to assist in this scenarios.
When this optional feature is enabled, the VBUC will generate attributes for the COM-exposed classes and their members in order to keep the resulting assemblies exposed through a COM interface. This enables the resulting components to be called from other non-managed components via COM. A brief code sample:
The following method is declared in an ActiveX dll.
Public Sub method1() MsgBox “Hello world” End Sub
Option Strict Off Option Explicit On Imports System Imports System.Runtime.InteropServices Imports System.Windows.Forms <ComVisible(True)> _ <ProgId("Project1.Class1")> _ <ClassInterface(ClassInterfaceType.AutoDual)> _ Public Class Class1 Public Sub method1() MessageBox.Show("hello world", Application.ProductName) End Sub End Class
using System; using System.Runtime.InteropServices; using System.Windows.Forms; using VB6 = Microsoft.VisualBasic.Compatibility.VB6.Support; namespace Project1{ [ComVisible(true)][ProgId("Project1.Class1")][ClassInterface(ClassInterfaceType.AutoDual)] public class Class1{ public void method1(){ MessageBox.Show("hello world", Application.ProductName); }} }
10500 NE 8th St, Ste 1140
Bellevue, WA 98004
Call us: +1.425.609.8458
info@mobilize.net