I have added a warning message which appears if there is a conditional assembly directive in an include file which cannot be resolved, for example
#IF WINVER >= 0x500
If WINVER is not defined anywhere earlier, then the warning appears.
I have also adjusted GoAsm so that the remainder of the include file is skipped if this happens, although assembly continues. Previously GoAsm assumed that the condition resolved to "true", and just carried on looking at the include file and logging its contents.
There was also a bug in GoAsm which stopped assembly after looking at one of Edgar's header files (rpcnsip.h) and if very soon afterwards there was a conditional assembly directive in an include file which could not be resolved. This has now been fixed. There was nothing wrong with the include file, it just put GoAsm out a bit.
The latest version of GoAsm can be obtained from here (http://www.jorgon.freeserve.co.uk/Goasm.zip).
C:\GoASM\Bin\GoAsm.EXE /d UNICODE "Help2 Viewer.asm"
GoAsm.Exe Version 0.56.6a - Copyright Jeremy Gordon 2001/9 - JG@JGnet.co.uk
Warning .......................
Line 68 of the include file wingdi.h:-
Could not evaluate expression in conditional directive (rest of file skipped):-
_NTDDI_WINXP
Error!
Line 146 of assembler source file (Help2 Viewer.asm):-
Unexpected material:-
<-11,0,0,0,FW_NORMAL,FALSE,FALSE,0,0,0,0,0,0,"Arial">
OBJ file not made
Make error(s) occured.
Hi UtilMasm,
There seems to be a few of those but they are restricted to wingdi.h as far as I can tell. You can do a global replace of _NTDDI with NTDDI (no leading underscore) to fix the problem, I am working to find other issues today and upload later...
oh, my great man :U
GOASMHDRVER = 0x020007
Hi UtilMasm,
Only 3 files seem to be affected by the change and they have been corrected and the headers uploaded. Note that for GoAsm 0.56.6a you will now require headers version 0x020007 or greater.
Edgar
unbelievable! you're too faster.
:U