OCL Problem mit Stringkonstanten

Ein Fehler im Vertec OCL Interpreter bewirkt, dass Expressions, welche eine if Bedingung zusammen mit einer Stringkonstanten (String-Literals: Text in Anführungszeichen) verwenden, zu Laufzeitfehlern führen können.

Beispiel:

  if oclistypeOf(Kontakt) then oclAstype(Kontakt).firma.asstring else '' endif

Diese Expression, in einer Liste von Adressen eingesetzt, soll bewirken, dass bei Adressen vom Typ Kontakt die Firma angezeigt wird, bei anderen Adressen nichts.

Diese Expression kann zu Problemen führen.

Umgehung des Problems:

Anstatt der Stringkonstanten '' kann ein beliebiges Feld verwendet werden, welches nicht benutzt wird und somit leer ist.

Beispiel:

    if oclistypeOf(Kontakt) then oclasType(Kontakt).firma.asstring else extreferenz endif

12.08.2005 | 12.08.2005