The MASM Forum Archive 2004 to 2012

Project Support Forums => GoAsm Assembler and Tools => Topic started by: donkey on November 12, 2006, 01:12:28 AM

Title: A little bug
Post by: donkey on November 12, 2006, 01:12:28 AM
Hi Jeremy

I was trying to find out why this won't compile and found a bug...

CoInvoke(psfDesktop,IShellFolder.ParseDisplayName,0,0, \
L'::{450d8fba-ad25-11d0-98a8-0800361b1103}',offset chEaten, \
offset pidlDocFile,0)


The problem appears to be in the parsing of the string, the following assembles fine

CoInvoke(psfDesktop,IShellFolder.ParseDisplayName,0,0, \
L'hello',offset chEaten, \
offset pidlDocFile,0)


It is only when the curly brackets are added to a string that the following error is thrown...

QuoteInappropriate or missing operand to the mnemonic
add eax, IShellFolder.ParseDisplayName \
call [eax]

OBJ file not made

This problem only appears to be present when using a macro like CoInvoke, in normal circumstances it doesn't cause an error, for example...

invoke GetModuleHandle,L"::{450d8fba-ad25-11d0-98a8-0800361b1103}"

assembles perfectly fine.

Edgar
Title: Re: A little bug
Post by: jorgon on November 12, 2006, 10:03:52 AM
Hi Edgar

Thanks for reporting this bug, which I shall look at asap.
Title: Re: A little bug
Post by: jorgon on November 14, 2006, 07:22:16 PM
The latest version of GoAsm available from here (http://www.jorgon.freeserve.co.uk/Goasm.zip):-

Title: Re: A little bug
Post by: donkey on November 15, 2006, 01:47:10 AM
Wow...

That is easily the fastest fix I have ever seen, all of the problems I reported appear to be things of the past, thank you very much Jeremy !

BTW, #dynamiclinkfile is a great addition, I will definitely be using it from now on. Especially since it appears to be OK in the include files, I plan to put the library name in each of the .H files I am creating making it relatively automatic.

Edgar