Click here to Skip to main content
15,886,689 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
See more:
We are planning to migrate our application from VB6 to .NET. We want to migrate the project part by part in an iterative faction. For migrating the application we are use Microsoft interop (COM Wrapper).
My question is have any one used it,
1) Do anyone came across any challenges while migrating the application using ?
2) Will using interop(COM Wrapper) there is any degrade in application performance? 3) Is there is any other disadvantages of using Microsoft interop(COM Wrapper)?

Here is more details about the approach.

Current architecture
• VB6 desktop application and interacts with different databases
• This application has few DLL’s which has the core business logic

Proposed architecture
• Use ARTINSOFT tool and convert the Core logic VB6 source code to .NET in piece by piece manner
• Move the converted core business logic .NET source code to a Web server and host them as Web services
• Use the existing VB6 forms and communicate to .NET source code using INTEROP

What I have tried:

We have already done the proof of concept, but we are looking for more inputs.
Posted
Updated 29-Feb-16 6:25am
v5
Comments
Garth J Lancaster 27-Feb-16 23:19pm    
I dont think you've explained enough about what your VB6 project does/contains, or what/how you will handle "For migrating the application we are planning to use Microsoft interop". Do you really mean 'COM Interop' or ?? is another question I'd ask.

Performance ? take for example - you have a self contained unit of code in VB6 that does x, that requires a number parameters - thats a different premise from having a unit of code in VB6 that you're calling continually with massive amounts of data - my thoughts are here that marshalling the data could be one issue you'd face - Maybe only you can answer the performance issues by adding a performance measuring layer to each (old, new) units of code and monitoring it yourselves, and if its 'less than desirable' by whatever measure you use, you may need to re-write the unit

That you've done a proof of concept is great, but, thats your best way to look at performance - not someone elses 'when I do x on my machine I measure this' - it has to be relevant to your organisation
Kenneth Haugland 28-Feb-16 1:17am    
I would switch for reasons that you don't mention, maintainability. VB6 is hopelessly old, kids won't know how to use it nowadays.
ZurdoDev 29-Feb-16 11:50am    
You are not re-writing the code? You're just wrapping it in a COM wrapper? That sounds like a bad idea. I'd suggest taking the time to re-write the code.
AjayRRathi 29-Feb-16 12:14pm    
Thanks RyanDev. We are rewriting the code. The plan is to do it in iterative way. We are planning to we will slice the application in piece and convert it piece by piece. We are using the COM classes to generate the wrapper on every piece that we have converted to .NET. Once we completed whole application we will remove the wrapper classes and the complete application will be migrated to .NET. Let me know your views.
Sergey Alexandrovich Kryukov 29-Feb-16 17:20pm    
Microsoft COM interop is one big disadvantage, and using interop at all (DLLImport) is just the smaller disadvantage. It is acceptable only is using some platform-specific products (usually, it could be 3-rd party ones, especially related to some non-standard hardware).

And finally, having any trace of VB6 is not even disadvantage, its a total disaster. This product was already badly, impossibly obsolete even when it first appeared on market in 1998. The way you plan to "migrate" would not be migration at all. If you leave any trace of VB6, you just add new disaster to existing disaster. The only thing to to is to write it all in .NET, without using anything not based on .NET FCL.

—SA

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900