11.06.2008, 16:05 | #1 |
Участник
|
jinx: Sprechende Methodenparameter verwenden
Die Eigenschaften von FormControls, wie heightMode und widthMode werden im Form Designer ?ber Enums gesetzt. Leider hat man hier mittels X++ Probleme, denn es wird bei der Verwendung dieser Methoden nicht angegeben um welchem Enum es sich handelt. Das hat zufolge, dass man immer wieder probieren muss, um die gew?nschte Eigenschaft richtig zu setzten. Desweiteren ist so auch der Quellcode schlechter lesbar.
Der Aufruf sieht normal so aus: FormControl.heightMode(1); Besser ist es, wenn man sprechende Parameter mit dem richtigen Enum verwendet FormControl.heightMode(FormHeight::ColumnHeight); M?gliche Optionen: FormHeight::Auto FormHeight::ColumnHeight ?hnlich sieht der Parameter bei widthMode aus, nur wird hier der Enum FormWidth genutzt. FormControl.witdthMode(FormWidth::ColumnHeight); M?gliche Optionen: FormWidth::Auto FormWidth::ColumnHeight Wie schon bei den letzten beiden Eigenschaft kann man bei TopMode auch nur raten,was mittels X++ ?bergeben werden muss. FormControl.TopMode(0); Besser ist, wenn auch hier ein sprechender Parameter mit dem richtigen Enum verwendetwird. FormControl.TopMode(FormTop::Auto); M?gliche Optionen: FormTop::Auto FormTop::ButtomEdge FormTop::Center FormTop::TopEdge Bei FormGroupControls gibt es die Eigenschaft frameOptionButton, auch hier tritt dasselbeProblem auf. FormControl.frameOptionButton(0); Der Enum lautet hier FormFrameOptionButton und erm?glicht somit die korrekte Zuweisungoder besser lesbaren Quellcode zu schreiben. FormControl.frameOptionButton(FormFrameOptionButton::None); M?gliche Optionen: FormFrameOptionButton::None FormFrameOptionButton::Hide FormFrameOptionButton::Check FormFrameOptionButton::Radio Es kommt nicht nur bei FormControls zu dieser Art von Problemen. Bei QueryRanges gibtes die Eigenschaft Status, auch hier kann es beim Setzen zu Schwierigkeiten dieserEigenschaft mittels X++ kommen. QueryBuildRange.Status(0); Besser ist auch hier den sprechenden Parameter mit dem Richtigen Enum zu verwenden. QueryBuildRange.Status(RangeStatus::Hidden); M?gliche Optionen: RangeStatus::Hidden RangeStatus::Locked RangeStatus::Open Das waren erstmal die Sachen, die mir noch in Erinnerung sind. Es gibt wahrscheinlicheinige andere Stellen, bei denen es Schwierigkeiten bereitet, den richtigen Parameterzu w?hlen. Ich habe mit den genannten Enums bisher positive Erfahrungen sammeln k?nnen, ob esaber wirklich die Richtigen sind, wird man wohl nicht in Erfahrung bringen k?nnen. 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... |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|