Domino 9 und frühere Versionen > ND6: Entwicklung
Bug 6.5.5: @Comtains mit @Char( 0 ) und Umlauten
(1/1)
Tode:
Probiert mal -wenn Ihr 6.5.5 installiert habt- folgenden Code in einem berechneten Feld aus:
fv := "über";
@If(@Contains(fv;@Char(0));@Return(@Prompt([ok];"";"Ein Zeilenumbruch ist nicht möglich!"));"");
In 6.5.4 passiert... nix: ist ja auch logisch...
In 6.5.5 kommt IMMER das Prompt, wenn fv einen Umlaut enthält.
Wäre mal interessant zu wissen, in welchen Versionen der Bug noch so vorkommt...
Gruß
Tode
P.S.: KB liefert nix, aber LDD: hier
Axel:
Fehler kann ich nachstellen. Ist auch logisch, da mit 6.5.5 probiert.
Aber folgender Würkdrumrum scheint zu funktionieren:
@If(@Contains(@Ascii(fv);@Char(0));@Return(@Prompt([Ok];"";"Ein Zeilenumbruch ist nicht möglich!"));"")
Axel
tks:
Soll in 6.5.6 behoben sein.
Gruß
Thomas
haessler:
Das ist wirklich ein ganz mieser Bug! @Contains ist definitiv noch fehlerhaft unter Notes 7.02. :-\
Ich habe folgendes herausgefunden:
@Contains(s1 ; s2) liefert falsche Ergebnisse z.B. auch bei dieser Konstellation:
1. s1 und s2 beginnen mit gleichem Buchstaben
2. s1 und s2 enthalten Zeilenumbrüche
3. s1 enthält Umlaut
BEISPIEL:
s1 := {ab
ä};
s2 := {a
c};
@If(@Contains(s1 ; s2) ; @Prompt([ok] ; "Test" ; "Teilstring enthalten") ; @Prompt([ok] ; "Test" ; "Teilstring nicht enthalten")) ;
Probiert es aus! Das ist absolut absurd :-:
Ein Anwendungsfall könnte sein, das Vorkommen eines Namens in einem Adressblock zu prüfen. Mich hat die Suche nach dem Fehler einige Zeit gekostet. Unter Notes 5 gab es dieses Problem nicht.
Man muss in manchen Situationen also auf @Contains verzichten. Alternativ kann @Right oder @Left verwendet werden, diese Funktionen scheinen noch korrekt zu funktionieren, z.B.
nicht @Contains(s1 ; s2);
sondern @Right(s1 + "~"; s2) != ""
Viele Grüße!
Bert
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln