flat assembler
Message board for the users of flat assembler.
Index
> Macroinstructions > "Dereferencing" symbolic constants [SOLVED] |
Author |
|
revolution 08 Jan 2013, 22:32
You also need to "escape" the #.
Code: Classes.Used.\#name equ TRUE |
|||
08 Jan 2013, 22:32 |
|
DimonSoft 09 Jan 2013, 08:44
revolution wrote: You also need to "escape" the #. Well, that seems to be right. But when I had done this, I got a "name too long" error finally pointing to the line, where recursive macro "call" is performed. BTW, is escaping the # operator really necessary here? name is a macro parameter, so the full name may be formed as soon as macro gets called and there seems to be no need to leave it for better times. |
|||
09 Jan 2013, 08:44 |
|
revolution 09 Jan 2013, 12:56
DimonSoft wrote: BTW, is escaping the # operator really necessary here? |
|||
09 Jan 2013, 12:56 |
|
DimonSoft 10 Jan 2013, 10:52
revolution wrote:
Well, it is really necessary. Thanks. Found about ten other mistakes and finally made it work. Something like that: Code: Classes.Used equ macro Define_UseClass { macro UseClass name \{ match =Classes.Used.\#name , Classes.Used.\#name \\{ Classes.Used.\#name equ TRUE match base , Classes.Base.\#name \\\{ Define_UseClass UseClass base purge Define_UseClass \\\} match any , Classes.Used \\\{ Classes.Used equ any, name \\\} match , DFL.Classes.Used \\\{ Classes.Used equ name \\\} \\} \} } Define_UseClass ; ----------------------------------------- ; The order should be from ancestors to descendants ; Classes.Base.TObject equ Classes.Base.TControl equ TObject ; Actual macro usage ; UseClass TControl Hope this may help somebody. |
|||
10 Jan 2013, 10:52 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.