It caps out at 50, and then starts rolling the oldest off the end of the list.
Attached is a VB6 IDE Add-In named Recent_VBPs_MRU. Just compile it (to its DLL), move it to wherever you keep your VB6 Add-Ins, register it, and then make sure it gets loaded in the Add-In-Manager in the IDE, and voila.
Alternatively, if you compile the Add-In DLL directly to where you want it to live, it'll be auto-registered. Just load it from the Add-In-Manager, and you're all set. But you do have to have the VB6 IDE loaded "as administrator" to do it this way.
It creates a sub-menu of the VBP MRUs off the IDE's "File" menu. I put it at the very top.
If your current project is "dirty" or if you have a "VBG" currently open, it just opens the requested VBP file in another instance of the IDE. In fact, it always uses another instance, but it closes the current instance if its not "dirty" and not a "VBG".
To do that any other way would have meant re-building all the "SaveAs" logic for projects (and all their files), and I wasn't going to do all of that.
Just a few details on how it works:
One other consideration I thought of but didn't address is the case where you're trying to open a VBP but it's already open in another instance of the IDE. I didn't do anything about this, and doing this doesn't cause anything bad to happen. What happens is, the new instance of the IDE complains that the VBP is already opens, and then starts up in a mode where nothing is opened (not even a Project1).
I thought about doing some API work and finding all the IDE instances that are open, and then check their project names (from the IDE form's title), but I still don't have a way to get the full VBP folder/path name from these other instances. So, I don't really see a way to have a perfect fix for this. And, since it doesn't really cause anything ultra-bad to happen, I left it.
The original 4 file MRU is still there. This Add-In works completely independent of the IDE's original MRU list.
Also, I haven't thoroughly tested, but it should (hopefully) work in the IDE regardless of your language setting. If anyone has problems with this, please let me know and I'll attempt to fix it.
Here's a screen-grab:
![Name: Image2.jpg
Views: 12
Size: 38.0 KB]()
I've also attached some little VBS script files in a separate ZIP for registering these DLLs. You don't really need these, but I attached them anyway. To use these VBS files, just drag any ActiveX DLL onto them, and it should get registered/unregistered.
Attached is a VB6 IDE Add-In named Recent_VBPs_MRU. Just compile it (to its DLL), move it to wherever you keep your VB6 Add-Ins, register it, and then make sure it gets loaded in the Add-In-Manager in the IDE, and voila.
Alternatively, if you compile the Add-In DLL directly to where you want it to live, it'll be auto-registered. Just load it from the Add-In-Manager, and you're all set. But you do have to have the VB6 IDE loaded "as administrator" to do it this way.
It creates a sub-menu of the VBP MRUs off the IDE's "File" menu. I put it at the very top.
If your current project is "dirty" or if you have a "VBG" currently open, it just opens the requested VBP file in another instance of the IDE. In fact, it always uses another instance, but it closes the current instance if its not "dirty" and not a "VBG".
To do that any other way would have meant re-building all the "SaveAs" logic for projects (and all their files), and I wasn't going to do all of that.
Just a few details on how it works:
- A VBP specification is added to the MRU list anytime you open a VBP file. If it already exists in the MRU list, its position in the list isn't changed.
- When you save a VBP file, again, it's added to the MRU list. However, in this case, it's always added to the top of the list even if it was already in the list.
- If things are done correctly, there should never be duplicate VBP files in the list. However, VBP files of the same name but in different folders is possible.
- Every time the IDE starts, any VBP files in the MRU list that no longer exist are purged.
One other consideration I thought of but didn't address is the case where you're trying to open a VBP but it's already open in another instance of the IDE. I didn't do anything about this, and doing this doesn't cause anything bad to happen. What happens is, the new instance of the IDE complains that the VBP is already opens, and then starts up in a mode where nothing is opened (not even a Project1).
I thought about doing some API work and finding all the IDE instances that are open, and then check their project names (from the IDE form's title), but I still don't have a way to get the full VBP folder/path name from these other instances. So, I don't really see a way to have a perfect fix for this. And, since it doesn't really cause anything ultra-bad to happen, I left it.
The original 4 file MRU is still there. This Add-In works completely independent of the IDE's original MRU list.
Also, I haven't thoroughly tested, but it should (hopefully) work in the IDE regardless of your language setting. If anyone has problems with this, please let me know and I'll attempt to fix it.
Here's a screen-grab:
I've also attached some little VBS script files in a separate ZIP for registering these DLLs. You don't really need these, but I attached them anyway. To use these VBS files, just drag any ActiveX DLL onto them, and it should get registered/unregistered.