Click here to Skip to main content
15,942,149 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello
we have a huge program written in old Microsoft Visual version 6 environment
The program written on C++ for functional classes and on VB6 for GUI
Proxies COM DLL created from C++ project is included as reference in VB6 project.

My question:
I need to upgrade old environment for C++ and get rid from VB6
1) What Visual Studio version to choose and how to transfer VB6?
2) Whether is it possible to transfer VB6? what better language for interface to choose: VB.net or C#?
3) Can you advice please how can I do that for make less changes and to keep high performance ?
4) Is it possible to write interface in C# and leave functionality on C++
5) What language C# or VB.net will be better for performance
6) How than to integrate GUI project & C++?
7) From what to start?

I'm sorry for mistakes , it's my first project , I am grateful for any help.
Thanks in advance.

What I have tried:

I have installed Visual Studio 2008
Posted
Updated 22-Nov-17 0:21am
Comments
[no name] 22-Nov-17 11:41am    
Actually... I believe the older version of "Visual Studio .NET 2003" has a built-in wizard to convert your VBA/VB6 projects to VB.NET and there is also a VB.NET conversion tool to further convert those projects to C#
Nika34 23-Nov-17 2:44am    
ok, thanks

My personal thoughts
Quote:
1) What Visual Studio version to choose and how to transfer VB6?
Latest.


Quote:
2) Whether is it possible to transfer VB6? what better language for interface to choose: VB.net or C#?
Rewrite the same (or better) GUI using C#.


Quote:
3) Can you advice please how can I do that for make less changes and to keep high performance ?
Probably you haven't to worry about GUI code performance. You might keep existing C++ functional classes and maintain performace. You could try to improve a bit your classes using modern C++ features.


Quote:
4) Is it possible to write interface in C# and leave functionality on C++
Yes.


Quote:
5) What language C# or VB.net will be better for performance
It doesn't matter.


Quote:
6) How than to integrate GUI project & C++?
It is called Interop[^].


Quote:
7) From what to start?
Start writing a minimal C# GUI able to use your C++ COM objects.




In another approach you could rewrite everything using C# or, if you are masochist, VB.NET.
 
Share this answer
 
Comments
Nika34 22-Nov-17 7:11am    
Thanks!
CPallini 23-Nov-17 2:49am    
You are welcome.
nv3 22-Nov-17 12:34pm    
Fully agree with what you recommended. Just want to add two thoughts:
a) Consider to do the whole project in C++ (or C#) and save yourself to complexities of interfacing two worlds.
b) If this is your first project you are probably going to need some help. If this is a large project (as you said) then this is going to be a significant task and not necessarily suited for a beginner.

Good luck!
Nika34 23-Nov-17 2:41am    
Thank you!
Since VB6 is officially not supported and maintained anymore, and the environment is not directly up-gradable, your only option is a rewrite (vb6 still works on newer OS's and will probably do so for a long time, just no updates).

Look at your project a new green field project and redesign/rewrite from scratch, choose vb.net or c# based on what you already know any .net language is performant enough so you should not worry about it.
 
Share this answer
 
Comments
Nika34 22-Nov-17 7:09am    
Thanks!

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