Maybe even get a webspace going for putting up some of my software for others to gawk at (and laugh at my ugly GUIs).
Of course you're welcome to post anything interesting here. Most masm32'ers have short attention spans, but sizable projects have been posted
Well, when I get around to finding some webspace, I may just get some of them put there to save web traffic costs here.
And ever wrack your brain on a bug in your code that when you find it, is so blazingly simple that you passed by it for 2 months? I think I just did...
Below is an original class registration (ComDLG32.OCX, just got it by watching the install of the software, it was the last one so I used it as a test), but below *IS* the original.
Windows Registry Editor Version 5.00
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}>
@="Microsoft Common Dialog Control, version 6.0 (SP6)"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Control>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A52-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A53-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A57-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\InprocServer32>
@="C:\\Windows\\system32\\comdlg32.ocx"
"ThreadingModel"="Apartment"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus>
@="0"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus\1>
@="132499"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ProgID>
@="MSComDlg.CommonDialog.1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Programmable>
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ToolboxBitmap32>
@="C:\\Windows\\system32\\comdlg32.ocx, 1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\TypeLib>
@="{F9043C88-F6F2-101A-A3C9-08002B2F49FB}"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Version>
@="1.2"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\VersionIndependentProgID>
@="MSComDlg.CommonDialog"
I made the square brackets into < and > to avoid crashing the board's scripting (which I did), script went unresponsive on the browser, oops my bad. And below is the installation of the same program on the Windows 7 64 bit, practically identical except for where it's stored and where the file is.
Windows Registry Editor Version 5.00
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}>
@="Microsoft Common Dialog Control, version 6.0 (SP6)"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Control>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A52-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A53-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{0DE86A57-2BAA-11CF-A229-00AA003D7352}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{40FC6ED4-2438-11CF-A3DB-080036F12502}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Implemented Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\InprocServer32>
@="C:\\Windows\\SysWow64\\ComDlg32.ocx"
"ThreadingModel"="Apartment"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus>
@="0"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus\1>
@="132499"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ProgID>
@="MSComDlg.CommonDialog.1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Programmable>
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ToolboxBitmap32>
@="C:\\Windows\\SysWow64\\ComDlg32.ocx, 1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\TypeLib>
@="{F9043C88-F6F2-101A-A3C9-08002B2F49FB}"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Version>
@="1.2"
<HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\VersionIndependentProgID>
@="MSComDlg.CommonDialog"
And below, is part of the .reg file my software MADE to restore it from the first one to produce the second one, notice anything missing? I sure did!
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}>
@="Microsoft Common Dialog Control, version 6.0 (SP6)"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\InprocServer32>
@="{!WINSYSDIR!}\\comdlg32.ocx"
"ThreadingModel"="Apartment"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus>
@="0"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\MiscStatus\1>
@="132499"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ProgID>
@="MSComDlg.CommonDialog.1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\ToolboxBitmap32>
@="{!WINSYSDIR!}\\comdlg32.ocx, 1"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\TypeLib>
@="{F9043C88-F6F2-101A-A3C9-08002B2F49FB}"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\Version>
@="1.2"
<HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{F9043C85-F6F2-101A-A3C9-08002B2F49FB}\VersionIndependentProgID>
@="MSComDlg.CommonDialog"
What I was doing was taking each "key section" in, breaking them up into line entries, entry 0 was the actual key ( < the keys are like this > ) and the rest are those key's values, noticably the ones missing have no values! Why? I was recording the last entry that *HAD* anything in it (which in the event of the first entry would be... ZERO), and at the end would return a bool of true or false if the last entry having anything in it wasn't ... ZERO... (IE: Return Bool if Data Entry Number > 0) So, hence what I got below has none of the important keys because they had no values in them... So, instead of placing the value of the last line in that data area, I'm adding 1 to it when I find a line with something on it, so the < key > will always count as 1 line.
You know when it takes you 2 months to find THAT small of a bug, it's time for a vacation! Sadly, I'm an I.T., vacations don't exist when you're the one everyone depends on. Maybe the weather will be nice and I can get a quad out for a flight or two.
GuruSR.