News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

A little bug

Started by donkey, November 12, 2006, 01:12:28 AM

Previous topic - Next topic

donkey

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
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable

jorgon

Hi Edgar

Thanks for reporting this bug, which I shall look at asap.
Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

jorgon

The latest version of GoAsm available from here:-

  • sorts out this bug and some others
  • adds automatic structure alignment in Win32 (this was already happening when using local data)
  • adds support for #dynamiclinkfile which allows you to specify in the asm source a dll/ocx/exe/drv file which exports functions used in your program, instead of in the linker's command line or command file (you need GoLink 0.26.5 for this to work)

Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

donkey

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
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable