Assertion in C/AL[Gelöst]

Bild Microsoft Dynamics NAV 3.xx
(ehem. Navision Attain)

Assertion in C/AL[Gelöst]

Beitragvon NAVGATOR » 21. Januar 2009 17:18

Bei Java gibt es Assertion(zusicherungen), die man am Schluss auf default setzen kann, oder um "tote" Zweige, die nie erreicht werden auszuschalten.
Gibt es etwas entsprechendes in C/AL?
Zuletzt geändert von NAVGATOR am 23. Januar 2009 11:20, insgesamt 1-mal geändert.
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18

Re: Assertion in C/AL

Beitragvon Natalie » 21. Januar 2009 17:39

Ich kenne mich mit Java ĂĽberhaupt nicht aus - habe ich die Frage richtig verstanden?
Diese Funktion oder dieses Tool sorgt dafĂĽr, dass du Quelltextzeilen ausfindig machen kannst, die nie durchlaufen werden (oder was sind Zweige?)?
Falls ja: Nein, die NAV-Entwicklungsumgebung bietet sowas nicht.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Assertion in C/AL

Beitragvon NAVGATOR » 21. Januar 2009 18:30

Nein, zum testen von Zwischenbedingungen in der Debugphase. Kann man auch durch If-Schleifen lösen, ist aber unpraktisch, da ich sie nach der Debugphase wieder alle per Hand wegmachen muss.
Assertions kann man am Anfang alle ein oder ausschalten.
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18

Re: Assertion in C/AL

Beitragvon Natalie » 21. Januar 2009 19:07

Ohne Beispiel verstehe ich es wohl noch immer nicht :-) aber das ist auch nicht relevant.
Du kannst im NAV-Debugger sog. Breakpoints setzen und an deren (Nicht-)Abarbeitung deinen Code ĂĽberwachen. Diese kannst du auch ein- und ausschalten.
Im Debugger hast du außerdem die Möglichkeite, Variablen und Tabellenfelder gezielt zu überwachen, indem du sie dafür eine dafür vorgesehende Box schiebst.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Assertion in C/AL

Beitragvon SilverX » 21. Januar 2009 21:27

Eine Assertion ist eine Zusicherung. Quasi ein Kombi aus IF und ERROR im C/AL.

WĂĽrde es den Befehl geben, dann wĂĽrde er so verwendet:

Code: Alles auswählen
// Ăśbergebener Wert fĂĽr i ist garantiert kleiner als 5.
i += 1;

// Wenn i nach Addition doch > 5 ist, dann wird eine (sinnvolle) Fehlermeldung ausgegeben.
// ASSERT stellt also sicher, dass i <= 5 ist.
ASSERT(i <= 5);

EXIT(i);
Cheers
Carsten


This post is my own opinion and does not necessarily reflect the opinion or view of my employer.
SilverX
Microsoft Partner
Microsoft Partner
 
Beiträge: 1252
Registriert: 16. September 2006 14:07
Realer Name: Carsten Scholling
Arbeitsort: GĂĽtersloh
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2013+

Re: Assertion in C/AL

Beitragvon NAVGATOR » 23. Januar 2009 11:20

SilverX hat geschrieben:Eine Assertion ist eine Zusicherung. Quasi ein Kombi aus IF und ERROR im C/AL.

WĂĽrde es den Befehl geben, dann wĂĽrde er so verwendet:

Code: Alles auswählen
// Ăśbergebener Wert fĂĽr i ist garantiert kleiner als 5.
i += 1;

// Wenn i nach Addition doch > 5 ist, dann wird eine (sinnvolle) Fehlermeldung ausgegeben.
// ASSERT stellt also sicher, dass i <= 5 ist.
ASSERT(i <= 5);

EXIT(i);



Genau, das mein ich Danke, Fall Gelöst!
NAVGATOR
 
Beiträge: 189
Registriert: 15. Januar 2009 22:26
Realer Name: Alex
Arbeitsort: Neuried
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: BC18


ZurĂĽck zu NAV 3.xx

Wer ist online?

Mitglieder in diesem Forum: Yandex [Bot] und 1 Gast