Things I wish I didn't (have to) do...
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
That sounds so painful. We are still using VStudio 2013 at work and that is painful enough. But trying to get VB6 stuff going... X|
Sander Rossel wrote:
The entire project spans some 40 applications, that use about as much components.
!!!! 😵😵 This feels kind of like the kind of work I've done in SQL to transform data from old schema to new. What I mean is that you can start getting into it and writing some really great stuff and learning esoteric details. Then you transform and transfer the data to the new schema and all that lovely SQL no longer has a purpose. It's the pinnacle of glory when you get it done. You stand at the mountain top basking in the sun and looking down. But then one week later its just some mountain you climbed in the past. Hopefully the company will just have you re-write the stuff to a modern dev platform. Good luck.
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
Yeah, this is why I laugh at everyone who shouts in my face "VB6 STILL WORKS AND IS STILL A GOOD PLATFORM!" Sure, it works. If you like propping the damn projects and COM controls up with 2x4s, chicken wire, and duct tape.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
-
Yeah, this is why I laugh at everyone who shouts in my face "VB6 STILL WORKS AND IS STILL A GOOD PLATFORM!" Sure, it works. If you like propping the damn projects and COM controls up with 2x4s, chicken wire, and duct tape.
Asking questions is a skill CodeProject Forum Guidelines Google: C# How to debug code Seriously, go read these articles. Dave Kreskowiak
Yeah, it's not good and it only works after a lot of blood, sweat and tears and then you'll just have to pray it keeps working X| That said, it still works :laugh:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
That sounds so painful. We are still using VStudio 2013 at work and that is painful enough. But trying to get VB6 stuff going... X|
Sander Rossel wrote:
The entire project spans some 40 applications, that use about as much components.
!!!! 😵😵 This feels kind of like the kind of work I've done in SQL to transform data from old schema to new. What I mean is that you can start getting into it and writing some really great stuff and learning esoteric details. Then you transform and transfer the data to the new schema and all that lovely SQL no longer has a purpose. It's the pinnacle of glory when you get it done. You stand at the mountain top basking in the sun and looking down. But then one week later its just some mountain you climbed in the past. Hopefully the company will just have you re-write the stuff to a modern dev platform. Good luck.
raddevus wrote:
It's the pinnacle of glory when you get it done. You stand at the mountain top basking in the sun and looking down. But then one week later its just some mountain you climbed in the past.
Yeah, this feels pretty familiar :laugh:
raddevus wrote:
Hopefully the company will just have you re-write the stuff to a modern dev platform. Good luck.
It's our job to rewrite it to something modern and since I'm the final boss we're using the latest greatest: .NET 8 with .NET MAUI (a bit of a gamble to be honest) and ASP.NET Core :D
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
I had a similar journey getting my VC6 IDE running on a Windows 7 machine (no VM). Took days of porting certain files over from XP, but finally managed to get it all going. The guys in the IT department can't understand why I don't want them touching that machine.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
40 applications - that is the next year allocated for you. Presumably the client has a working environment, I would be asking for a desk on site that can be used. The ultimate "break it down to small pieces". Good luck and let the fees add up!
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
Sander Rossel wrote:
plus switching between VM and laptop is a pain.
Windows Mode and maximized, then you have two task bars visible at once when you are in the VM or (No matter if window mode or full screen) CTRL+TAB to change to host and ALT+TAB to switch to the last program used in the host ALT+TAB to go back to the VM I personally like version 1
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
One thing that may make life easier is putting some sort of VNC/RDP on the VM so that you don't actually have to switch to the VM, but remote desktop into it. It's marginal, but it's definitely been better on a Pi to do that. They do something to them to make them not poll the mouse so often by default so it is like pushing the cursor through molasses. RDP though, mouse moves client side, so it doesn't really matter.
-
Aren't TLB files generated from DLL files? It might be easier to find to original DLL and generate a new TLB file. Best of luck in your VB6 'adventure'
Yeah, found that out along the way. Never heard of TLB files before, but I did it! :D
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
40 applications - that is the next year allocated for you. Presumably the client has a working environment, I would be asking for a desk on site that can be used. The ultimate "break it down to small pieces". Good luck and let the fees add up!
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP
Mycroft Holmes wrote:
40 applications - that is the next year allocated for you.
And not just for me, I hired someone specifically for this job (and another one) :D
Mycroft Holmes wrote:
Good luck and let the fees add up!
Thanks, and they are! :D
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
-
Spent most of my week so far getting an old Visual Basic 6 environment up and running on my Windows 11 laptop. I've got it running in a VM now (which I got from the original programmer), but that VM has lots of noise and issues and doesn't work very well (it's the result of 20 years of development by someone who still prefers and uses VB6 and DBF), plus switching between VM and laptop is a pain. The entire project spans some 40 applications, that use about as much components. We need to replace all these applications one by one, making sure the output stays the same, so being able to easily run and debug them kind of comes in handy. With a bit of "luck" we'll get another project which has even more applications (but running them will be a breeze now *ahem*). So, I got VB6 running, which was only the first step (and surprisingly painless, followed How to install Visual Basic 6.0 on Windows 11 - YouTube[^]). Then I had to restore all kinds of folders and files in specific places (like C:\Company\Files) and relative to various projects (like ..\..\Components\Component A, etc.). Not to mention change all kinds of configurations (ini files) because they point to T:\ or specific databases. Obviously, these files, folders and configurations are all over the place. I've put all of it in Git, including bin and obj folders, because I can't rebuild most of this stuff and just opening a project in VB6 changes it (it mostly sets references from System32 to SysWOW64, etc.). Even complete database files (mostly DBF files, but maybe some SQL backups too) got included in Git, because that's how the original programmer works. I've got Git repositories larger than 1.5 GB now, but :elephant: it! I'm currently trying to figure out which OCX files have to be registered and (from) where. A few (most?) are working, but I'm currently having some trouble with some TLB file... Can't register it, but it's referenced in the project, but I keep getting "Class is not registered" (can't find it registered on the VM either though) :( I'm too old young for this shit.
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook)
Our tester had a nice error in our .NET 8 application, it was trying to find "kernel32.dll" in the "Program Files\dotnet" directory :doh: It is a 64 bits application but luckily there is a 64 bits version named "kernel32.dll" in the System directory :-\
-
Yeah, found that out along the way. Never heard of TLB files before, but I did it! :D
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
TLB files are useful if you work with COM objects. We do so that our unmanaged Delphi code can talk to our .NET Framework code. Even though COM is old, it still is the best when you need something like this. We can even embed .NET UI components into our Delphi UI via OLE, which is also using COM/TLB at some level.
Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere
-
Our tester had a nice error in our .NET 8 application, it was trying to find "kernel32.dll" in the "Program Files\dotnet" directory :doh: It is a 64 bits application but luckily there is a 64 bits version named "kernel32.dll" in the System directory :-\