AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: За рубежом > DAX auf Deutsch
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.06.2010, 04:09   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
jinx: Dynamics AX – Macros und schließende Klammern
Macros werden innerhalb von Dynamics AX z.B. für die Best-Practice konforme Verwendungvon festen Zeichenfolgen innerhalb des X++ Quellcodes verwendet.
An vielen Stellen im System finden sich Quellcodezeilen wie diese:

X++:
#define.MySimpleMacro('The string value')
Dies ist die am meist verwendete Art der Macrodefinition innerhalb von Dynamics AX.
So weit, so gut.

Es gibt allerdings Konstellationen von “Werten”, welche bei dieser Art der Macrodefinitionzu einer Fehlermeldung beim speichern führen.
Es bei dieser Art der Macrodefinition z.B. nicht möglich, eine schließende Klammerals Macrowert zu definieren.
Dies ist auch so im MSDN dokumentiert: http://msdn.microsoft.com/en-us/library/cc197110.aspx

Gerade bei der Verwendung von Regular Expressions (Regex) kann dies zu regelmäßigerVerwirrung führen, da man gerne die weiteren Macrodefinitions-Möglichkeiten vergisstund oder diese nicht so präsent sind.

Die Syntax

X++:
#define.Macroname(Wert)
sollte eigentlich nur verwendet werden um (einfache) Konstanten innerhalb des Quellcodeszu definieren.
Für alle anderen Fälle und wenn ein Macro mit mehr als einer Zeile benötigt wird,sollte folgende Syntax zu Definition eines Macros verwendet werden:

X++:
#localmacro.AnExample

// Some statements or text

#endmacro
Die Verwendung von #localmacro anstelle eines "(einfachen) #define erlaubt es nunauch mit schließenden Klammern als Macrowert zu arbeiten oder sogar ganze SQL oderX++ Codeblöcke zu verwenden.
Eine genauere Beschreibung von Dynamics AX Macros (deren Möglichkeiten und Einsatzgebiete)ist im MSDN dokumentiert:

Macrosin X++


Es wird keine Haftung oder Gewährleistung auf die Richtigkeit der gemachten Angaben gegeben. Die Verwendung erfolgt auf eigene Gefahr. Copyright © Axel Kühn (Aku's AX Blog, http://blog.ak-home.net) and Mathias Füßler (jinx's AX Blog, http://starside.eu)

More...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
jinx: Dynamics AX – Query-Ranges und Filtereinstellungen des Benutzers Blog bot DAX auf Deutsch 0 04.02.2010 00:05
jinx: Dynamics AX – Batchserver, Berichte und Drucken in Dateien Blog bot DAX auf Deutsch 0 26.01.2010 04:05
jinx: Dynamics AX LookupForms – FindValue und Range auf gleichem Feld Blog bot DAX auf Deutsch 0 18.09.2009 03:13
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:46.