The initial release version had a few bugs in it that needed to be fixed, I have posted the fixed versions on the two site I can upload to quickly but they are minor and would not justify downloading it again so I am posting the error list found so it can be fixed.

The keyboard problem in QE with European keyboards has been fixed, I have posted on my site. The STRMBASD.INC file has 2 incorrect entries at the beginning that should be removed and the library should be rebuilt. The CALENDER example in the "dialogs" directory has the wrong path for the DIALOGS.INC file, it should be "\masm32\include\" and 3 of the batch files in the bin directory were corrupted before I built the image. BRES.BAT, DASM.BAT and DASMD.BAT. Use the same files from version 7 and they will work OK.

i would also like to thank everyone who helped find these bugs so it could be fixed quickly.

Posted on 2003-01-31 08:06:13 by hutch--
How to rebuild library after fixing incorrect entries?

Posted on 2003-02-08 03:38:06 by magus

Just run the batch file in the INCLUDE directory to rebuild all of the IMPORT libraries. If you want to rebuild the masm32 library files, run the batch file in the m32lib directory, same with the new floating point library.

In the MASM32 directory is a batch file called MAKELIBS.BAT. Run that and it will build everything.

Posted on 2003-02-08 04:08:40 by hutch--
G'Day Eh!

Done running BLDLIBS.BAT. No errors, about six warnings on <variable name> should be private items.

Thanks, or should that be tranks? :grin:
Posted on 2003-02-08 04:39:14 by magus
File: masm32\COM\include\

Line 7:

includelib shell32.lib

...should be:

includelib \MASM32\LIB\shell32.lib

File: masm32\COM\include\

IPersistFile object is missing!

This code should be inserted at line 937:

; IPersistFile Interface

; public IUnknown

; (0000010B-0000-0000-C000-000000000046H)
sIID_IPersistFile TEXTEQU <{00000010bH, 00000H, 00000H, \
{0C0H, 000H, 000H, 000H, 000H, 000H, 000H, 046H}}>

_vtIPersistFile MACRO CastName:REQ
; IUnknown methods
_vtIUnknown CastName
; IPersistFile methods
&CastName&_GetClassID comethod2 ?
&CastName&_IsDirty comethod1 ?
&CastName&_Load comethod3 ?
&CastName&_Save comethod3 ?
&CastName&_SaveCompleted comethod2 ?
&CastName&_GetCurFile comethod2 ?

IPersistFile STRUCT
_vtIPersistFile IPersistFile
IPersistFile ENDS
Posted on 2003-02-09 05:49:37 by aweX
I have just had another errata reported, the example CAR in EXAMPLE9 needs to have the OLE32.INC and OLE32.LIB added to it so it builds properly.

Posted on 2003-02-09 15:15:43 by hutch--
MASM32 is really cool!

Thanx 2 hutch.
Posted on 2003-02-15 08:34:29 by gaidar
would it be better, if you have something like masm32v8.1 or 8.2 ?
so i can know what copied (version) that i've downloaded.

thank you for creating this great package. :)
Posted on 2003-02-15 08:46:26 by doby
Hi Hutch,

I'm not quite sure about it (still working with MASM32 V7) but it seems that MASM32 V8 has some incompatibilities, for example TV_ITEM has been renamed to TVITEM. If true it is bad. Such things break old code and reduce the main benefit of this tool. So I suggest to include these old names again.


Posted on 2003-03-15 02:14:04 by japheth
I always thought that TV_ITEM was an error, I usually used TVITEM instead. Both were available and I tended to use the one that conformed to the Win32 api spec. At worst you can do a TV_ITEM equ <TVITEM> to patch you code if there is too much to replace.

Posted on 2003-03-15 04:21:19 by donkey

thank you very much indeed, but thats not the point. This structure existed in old versions and old code breaks now with new MASM32 version. To change code is trivial for experienced programers, but not for newbies. See this thread:

problem in assembling
I have a new problem with assembling of this source. Help me pliz!
Assembling: ftp.asm : error A2008: syntax error : item
Assembling: reg.asm
Assembling: ui\bookmark.asm
Assembling: ui\wizard.asm
..\ : error A2008: syntax error : item
ui\wizard.asm(331) : error A2006: undefined symbol : item
ui\wizard.asm(332) : error A2006: undefined symbol : item
ui\wizard.asm(356) : error A2006: undefined symbol : item
ui\wizard.asm(370) : error A2006: undefined symbol : item
ui\wizard.asm(384) : error A2006: undefined symbol : item
ui\wizard.asm(400) : error A2006: undefined symbol : item
ui\wizard.asm(416) : error A2006: undefined symbol : item
ui\wizard.asm(430) : error A2006: undefined symbol : item
ui\wizard.asm(444) : error A2006: undefined symbol : item
ui\wizard.asm(458) : error A2006: undefined symbol : item
Assembling: ui\tray.asm
Microsoft (R) Library Manager Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LINK : fatal error LNK1181: cannot open input file "wizard.obj"
LINK : fatal error LNK1181: cannot open input file "ftp.obj"

What's wrong with this ITEM???

Possibly old name TV_ITEM was an "error", but it existed and should continue to exist.


Posted on 2003-03-15 07:11:48 by japheth
Hi Japheth,

I agree. It should be included. I didn't experience any problems (except on one program that was quite old) and I guess I just assumed that everybody used the structure name from the MSDN site. I found that a more critical change was the change from imask to _mask in the TVITEM (or TV_ITEM) structure. Like TV_ITEM it's a simple matter to search and replace it but it makes me wonder how many more "slight" changes there have been. This change is contrary to the naming convention we have become used to in MASM32.

Posted on 2003-03-15 07:41:26 by donkey

thanks for the feedback, I am the guilty party with the changes but you may appreciate that trying to edit a file that size that was structured a lot differently to the earlier versions I produced myself is a joy to behold.

I have tried to correlate and group a lot of its content just to make it maintainable and then did some days of testing to get rid of the errors I could find but clearly there are enough problems left in the file to justify some more work on it.

Part of the problem is that i get so little feedback and what I do get is so scattered that I have almost no way of testing all of it except to write test pieces and there is a lot of the stuff in Windows that I never go near.

I tried with a thread in this forum to pick up as much as I could and I fixed what was coherant but I got very little useful feedback over time so as usual I had to chase up a mountain of stuff myself.

Posted on 2003-03-15 18:06:15 by hutch--
Hi Hutch,

possibly it may be useful to post new here. The other stuff is no problem. So we can at least do some tests and check compatibility. I have a slow internet connection and avoid to download large stuff - like the full masm32 package - until it is absolutely necessary.


Posted on 2003-03-16 11:33:46 by japheth
Hi yall,

i got pretty frustrated till i found the reason for masm spitting me out a

"missing operand after unary operator"

..just because of an unexpected underscore prefix to mask in TV_ITEM

Wouldnt it be helpful - in such a case and others - to have read a

"List of Changes" which was included in the masm32v8 package? hutch? ;-)

Besides from that, many cute features found their way into v8:

Like cars.. and oop.. and girlz ??? No! Girlz are yet to cum!

Thanx, nietz
Posted on 2003-04-09 09:55:02 by nietz

Thanks, that one is already known, what I have in mind is to try again to set up some process to gather all of the problems in the WINDOWS.INC file and produce a later version.

The additions I did in this last version were particularly complicated to get going and involved a mountain of testing and in the process I also edited the file to try and get it more coherant as it has been added to for some time now all over the place.

As I gather you found, just make an equate for the name difference at the moment, that one wil be fixed with a later version.

Sorry about the lack of girls, its not really in the target market and may lead too many astray. :tongue:

Posted on 2003-04-09 20:21:30 by hutch--
hutch, instead of keeping monolithic, why not follow the PlatformSDK idea of wingui/winbase/win<etc> headers, and include them all in Would make the individual parst easier to maintain, and easier to look up constants/structs you need.
Posted on 2003-04-10 02:40:04 by f0dder
It would also mean a complete rewrite as it was never sorted in that manner, after editing this version to try and get it more coherant and maintainable, testing a new one again from scratch would be a disaster.

Posted on 2003-04-10 07:17:52 by hutch--
ok, might be a couple hours of cut and paste if the current structure of the file is THAT messy. But with a model where includes all the other files, you should have the same interface to all the existing code, thus I can't really see what's with "testing a new one again from scratch would be a disaster". And it's not really like I care, I have my PlatformSDK when I need to look stuff up. Just a suggestion to make it more managable.
Posted on 2003-04-10 07:24:22 by f0dder
I like the I know almost all structs and types are in there, so I know were to search for that unknown struct or others.

Hutch, I have question, why did you remove the build option from qeditor?
I thought it great to be able to compile and link programs with a mouse click, for programs only needing
standard builds.
Posted on 2003-04-10 08:01:46 by david