25.08.2009, 21:43 | #1 |
Участник
|
Объявление констант
Прошу сильно не пинать за ламерский вопрос.
В коде я встречал объявление констант (макросов) в различных местах, относительно заголовка функции. Есть примерно такой вариант: X++: void testMethod() { #define.TEST("Test") ; info(#TEST); } X++: #define.TEST("Test") void testMethod() { ; info(#TEST); } |
|
25.08.2009, 22:56 | #2 |
Участник
|
по-моему, макросы - несинтаксические конструкции.
поэтому ни области видимости, ни другие синтаксические условности их не затрагивают. Т.е. написать его можно где угодно. Это всего лишь инструкция компилятору. вместо каждого вызова макроса ниже определения компилятор подставляет его текст (с подстановкой параметров). Затем получившийся после подстановок текст компилируется. Поэтому: разницы никакой. =========== ЗЫ Есть небольшой финт ушами с отладчиком - отладчик показывает текст ДО макроподстановки. Точки останова функционируют на исходном тексте. Других хитростей нет, вроде. |
|
|
За это сообщение автора поблагодарили: York (1). |
26.08.2009, 03:07 | #3 |
Member
|
Цитата:
Сообщение от mazzy
...
Т.е. написать его можно где угодно. ...
__________________
С уважением, glibs® |
|
26.08.2009, 09:52 | #4 |
Участник
|
См. Macros in X++ в SDK, в частности, Range of Macro Referencing:
Цитата:
Методом является все содержимое узла
В данном контексте метод определяется как содержимое соотв. узла в AOT. В AOT, вы можете развернуть узел Classes, затем - узел какого-либо класса, щелкнуть правой кнопкой по узлу метода и выбрать Edit. После этого вы можете добавить строку #define.MyMacro("abc") перед определением метода. Прекомпилятор будет рассматривать директиву #define как часть этого метода, несмотря на то, что она встречается вне блока {} метода. |
|
|
За это сообщение автора поблагодарили: mazzy (2), York (1). |
Теги |
макрос |
|
Похожие темы | ||||
Тема | Ответов | |||
явное объявление контрола | 13 | |||
Объявление переменных - вопрос | 3 | |||
Как узнать числовые значения констант Word и Excel? | 2 | |||
Объявление переменных для controls | 2 |
|