JJ, deliberately misunderstanding people is an indication of a TROLL. Are you a TROLL?
Japheth,
I am not deliberately misunderstanding anybody. Ernie wrote that macro ten years ago, and I asked why he so firmly states that edx cannot be used. Not because I am a troll, but because I failed to see a concrete reason for this statement.
I posted my version, it works fine even with edx as parameter, and in "response" to that somebody dumps idiosyncratic macros in this thread that do not prove anything and have little to do with the original question.
You wrote "The problem is that expansion is done from left to right". That is correct but irrelevant, if during expansion edx is not getting destroyed (and
Ole$() won't destroy edx for that precise reason). And it is completely irrelevant for the
final part of the macro where edx (or eax) is being used to dereference the pointer.
Regarding the problem that JWasm doesn't like the GuidFromString macro, I will post it on SourceFourge.That was a problem for JWasm 2.08 of 30 August, but I just downloaded version 7 September, and voilà, it works :t