|
You answered your own question. Re-write.
Whether you need to go to web-based is a solution analysis; there are very valid reasons that desktop apps may provide a better solution than web-based or a hybrid mix of both may be the solution. We started with a large conversion that was going to be all desktop but ends up having some web-based modules where they made sense. Those are mostly parts having existing functionality on the web where some redesign can make the apps usable for in-house applications.
Convert? We moved Access to Postgres in the original VB6 code using ODBC as the first step. I wouldn't spend any time looking at "converters". First, none will do a decent job converting VB6 to VS22. The best you'd get is having to do a multistep conversion that will still leave a lot of broken functionality. If native printing was used in VB6, and I think most did, there can be a lot of work recreating documents to VS. Depending on the size and budget, that may be a place to look at a paid tool to do that function or play with an html2pdf in VS or as a web service, locally or cloud.
I would also look into the chance that some existing SaaS products can replace and integrate functionality.
If it's feasible, I would phase the transition by moving functions to your new platform while leaving others in VB6 for now. A lot of that depends on your client's ability to work with that and if you do end up moving to the web/cloud for some or all of the project. That serves to spread the money out over time which may help.
Depending on the codebase and your available resources, it could be a long road.
|
|
|
|
|
My company is currently taking our primary VB6 app (serves 100s of clients via RDS RemoteApps) and is converting to .net6 backend / vue frontend.
We first looked at all the tools that have been mentioned so far. We would have been happy to stay a desktop app if we could have converted from VB6.
In each case the use use of 3rd party controls (grids, drop downs, calendars, etc.) pretty much killed each of those options.
I am bringing it up as a warning, so you are aware of a possible impediment.
We could have attempted to convert and recoded to an updated front end, we chose not to after testing. For us the rough calculation didn't make sense to attempt to convert.
VB6 and Crystal Reports were often used together. You didn't mention if CR is part of your project.
We also use Crystal Reports for about 125 reports. About 15 of them are complex enough that we can't easily depracate CR. We came up with a way to host CR in container to save having a separate .net framework VM.
|
|
|
|
|
I had to migrate several projects from 6 to .NET back when. I found re-writing was pretty straightforward, the only thing that really slowed me up was not being able to use arrays of controls (which the VB6 projects used extensively). Worked out a work-around (which needed much more coding, but ran eventually). Good luck.
|
|
|
|
|
It's almost undoubtedly true that this code needs to be updated from an architectural standpoint as well. No disrespect to the soon-to-be retiree.
I've been in a situation where the code was crap, but nobody on the business side could explain how it was supposed to work. Thus, reworking it was more of, "well, good luck, hope you figure it out." Hope you're not in that situation, Sander.
|
|
|
|
|
Undoubtedly, this programmer is known to use hidden controls to hold values because variables are too difficult
agolddog wrote: Thus, reworking it was more of, "well, good luck, hope you figure it out." Hope you're not in that situation, Sander. I hope so too!
|
|
|
|
|
The company I work for has a large VB6 code base. I am the project lead for updating the main application to .NET 6 WPF/MVVM. In the span of about an year, one other developer and me have migrated about 75% of the old application.
I would definitely stay away from the automatic converter tools. While they do work, you will be left with the same mess of an application that you originally inherited. Now is the time to use modern design principals to develop a testable and extensible application. Not to mention multiple threads!
We also made the decision to keep the same look and feel as the VB6 application. Users have 20+ years of experience with the VB6 application, so giving them something completely new that works differently was met with major objections.
Instead of thinking "Run", think I have the opportunity to build something from scratch using a better architecture and use cutting edge technology. That sounds like a lot of fun to me.
modified 3hrs 10mins ago.
|
|
|
|
|
Tyler Evensen wrote: Instead of thinking "Run", think I have the opportunity to build something from scratch using a better architecture and use cutting edge technology. That sounds like a lot of fun to me. Yeah, my thoughts exactly.
These are not easy jobs, but they can be quite fulfilling.
We plan to keep the UI more-or-less the same, but to give it a more modern look and feel.
No big overhauls there anyway.
Hopefully the client will say the same.
|
|
|
|
|
Having written and rewritten many programs in the last 35 years I can honestly say that without looking at the way you code I can't tell if the converters will work or not. Even current converters like Telrik have issues converting C# to VB.NET have issues.
The one thing that is 100% certain is this. If you review what you used to do and compare it to what you can now do you will probably get rid of a large portion of old code that is no longer needed.
If you worked in VB6 before .net and then you opened, closed, parsed files the old fashioned way either in binary or text. You can now ditch nearly all of that code lets face appending a line of text to a file used to take 10 lines of code now, 1 maybe 2? Splitting and parsing lines are now inherent, so is mid$ (now substring) and there are lots of new features to just the string object. vb6 had Drag and Drop nightmares .NET a breeze.
My point is the GUID may or may not change but the majority of code behind it probably won't take long to deal with side by side. If you run a conversion and it fails then you have to discover and repair code you didn't write and that sucks.
I rewrote a utility yesterday because it was built in 2001 and updated, but not rewritten in 2003. I opened the old code on one side the new on the other and reviewed it. The classes I had written had very few issues and with a few minor modifications those were done in less than a 1/2 hour. The rest of the time I spent dumping old code I no longer need and, I added a barcode class I had built about 5 years ago. In short I have a new tool that is 10 times faster, more capable and easier to use for the users.
I would say if you have a conversation system you can test it but then look at the code. If you don't understand it, rewrite it. If it fails, rewrite it....or just rewrite it. And don't believe those that say VB.NET is going away soon. They have said that for 15 years and it is more common than you know.
The old man in Illinois
|
|
|
|
|
Sander I have a copy of VB 6.0 Professional Edition + Library on CD IF needed which I doubt!
Also two great books "The Waite Groups VB 6 Interactive Course" and Murach's VB 6
You are welcome to all FREE.
Challenges and Work. Work pays the bills. Challenges can be fun but seem to create bills.
When you have time lets us know about the progress it will thoroughly enjoyed by many.
|
|
|
|
|
I'm doing that right now. I got hired to fix some VB6 stuff and then write a connected app in webforms .net.
After that they kept me on to do support and maintenance. As time allows, I re-write the VB6 to vb.net. Anything new is vb.net.
In a couple of instances I needed some of the VB6 functionality in vb.net to do some quick and dirty work. I copied the VB6 to a vb.net module and just went through line by line to make it compile in vb.net. It was surprisingly easy. I'd not recommend that for anything that is going to be maintained long term, but it might get you "over the hump" while port/re-write.
Someone else posted link her the tools and instructions to get VB6 to work on Windows 10. It actually works pretty well!
Also the are a couple of project underway to build IDEs and compilers for VB6. Twin BASIC looks pretty impressive. Here is a link to learn more: https://www.vbforums.com/showthread.php?890181-TwinBasic[^]
Good luck.
PS: Ask for a raise. They going have a tough time finding some who wants that job!
|
|
|
|
|
Pull out sketch first - letter learner to start with (10)
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 649 4/6
⬜⬜⬜⬜🟨
⬜🟩🟩🟩⬜
🟩🟩🟩🟩⬜
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 649 2/6
⬛🟩🟨⬛🟨
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 649 5/6
🟨⬜⬜⬜⬜
⬜⬜🟩⬜⬜
⬜🟩🟩🟩⬜
⬜🟩🟩🟩⬜
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 649 3/6*
🟨🟩⬜⬜🟨
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Wordle 649 4/6
🟨🟨🟨⬛⬛
🟨⬛⬛⬛⬛
⬛🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Nice, I could have gotten it in 3. This has been fast and straightforward.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Wordle 649 3/6
⬜🟩🟨⬜🟨
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Wordle 649 4/6*
⬜⬜🟩🟩⬜
⬜⬜🟩🟩⬜
🟨🟩🟩🟩⬜
🟩🟩🟩🟩🟩
Happiness will never come to those who fail to appreciate what they already have. -Anon
|
|
|
|
|
Wordle 649 3/6
🟨🟨⬜🟨⬜
⬜🟩🟩🟩🟩
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 649 6/6
⬛⬛🟨⬛🟨
🟨🟨🟨⬛⬛
⬛🟨⬛🟨🟨
⬛⬛🟩🟨🟨
🟩🟩🟩🟩⬛
🟩🟩🟩🟩🟩
|
|
|
|
|
Wordle 649 3/6
🟨🟨⬛🟨🟨
⬛🟩🟩🟩🟩
🟩🟩🟩🟩🟩
Get me coffee and no one gets hurt!
|
|
|
|
|
Wordle 649 6/6
⬜⬜⬜⬜⬜
⬜🟨🟨🟨⬜
🟨🟨⬜⬜🟨
⬜🟩🟩🟩⬜
🟨🟩🟩🟩⬜
🟩🟩🟩🟩🟩
whew
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
Should I be concerned?
Has Windows become Spyware? - YouTube[^]
Has ad after 07:10!
"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization." ― Gerald Weinberg
|
|
|
|
|
Not at all, just open the laptop and remove the WiFi and network card!

|
|
|
|