As a note, this is ONLY for someone who is doing some external processing of VB6 FRM files, such as reading them directly and/or massaging them for whatever reason.
In my case, I'm messing with converting VB6 FRM files into python tkinter files. And one of the things I ran into was that VB6 rather easily decides to throw things into those FRX files. You can just have ToolTipText that's a bit long and it'll put it in the FRX file rather than a long line in the FRM file. So, I wanted a way to dig this info out.
As the title states, this is just a forked version of LaVolpe's FRX file reader found here. LaVolpe had already done the heavy lifting.
My fork just streamlines his work into one form, a global variable in that form, and three functions. To use this, you can just toss this form into whatever project you're working on that processes other FRM files, and this form will help you get the info out of the FRX files.
Basic usage:
No need to actually show this frmGetDataFromFrxFiles, unless you just want to. But be sure to do the above before you show it, or it'll try to do a test-mode execution (discussed below).
When calling either GetStringAtOffset or SaveImageAtOffset, you must pass it the hex offset into the FRX files. These are seen in any FRM file, for example:
You can pass just the hex number, or the whole line if you like and it'll get parsed.
The GetStringAtOffset returns the string, for you to do with it what you want.
The SaveImageAtOffset function saves the image in the same folder as in the FRX file specification. It also returns the name of the saved file.
-------------
The attached project is setup to read a "hard-coded" FRX file I used for testing. To use it the way it is, you'll need to patch up the Form_Activate event so that it points at one of your FRX files (with the gsFrxFileSpec variable). If executed directly like this, it'll show you LaVolpe's little interface for that FRX file.
Enjoy,
Elroy
In my case, I'm messing with converting VB6 FRM files into python tkinter files. And one of the things I ran into was that VB6 rather easily decides to throw things into those FRX files. You can just have ToolTipText that's a bit long and it'll put it in the FRX file rather than a long line in the FRM file. So, I wanted a way to dig this info out.
As the title states, this is just a forked version of LaVolpe's FRX file reader found here. LaVolpe had already done the heavy lifting.
My fork just streamlines his work into one form, a global variable in that form, and three functions. To use this, you can just toss this form into whatever project you're working on that processes other FRM files, and this form will help you get the info out of the FRX files.
Basic usage:
- Load the frmGetDataFromFrxFiles form.
- Assign the gsFrxFileSpec variable in that form with the complete path of your FRX file.
- Call the ProcessFrxFile procedure.
- Call GetStringAtOffset and/or SaveImageAtOffset according to your needs.
No need to actually show this frmGetDataFromFrxFiles, unless you just want to. But be sure to do the above before you show it, or it'll try to do a test-mode execution (discussed below).
When calling either GetStringAtOffset or SaveImageAtOffset, you must pass it the hex offset into the FRX files. These are seen in any FRM file, for example:
- ToolTipText = $"Main.frx":36BBFC
- Picture = "Main.frx":36BCA8
You can pass just the hex number, or the whole line if you like and it'll get parsed.
The GetStringAtOffset returns the string, for you to do with it what you want.
The SaveImageAtOffset function saves the image in the same folder as in the FRX file specification. It also returns the name of the saved file.
-------------
The attached project is setup to read a "hard-coded" FRX file I used for testing. To use it the way it is, you'll need to patch up the Form_Activate event so that it points at one of your FRX files (with the gsFrxFileSpec variable). If executed directly like this, it'll show you LaVolpe's little interface for that FRX file.
Enjoy,
Elroy