Domino 9 und frühere Versionen > ND7: Entwicklung
GetEnvironmentValue schluckt doppelte Leerzeichen
Hatschi:
Hallo,
im Backend möchte ich eine Datei anhängen. Dafür übergebe ich den Dateinamen aus dem Frontend über das Environment an das Backend. Weil aber das immer wieder zu Problemen führte habe ich weiter geforscht und bin der jetzt der Meinung, dass zwei Leerzeichen hintereinander von GetEnvironmentValue durch ein Leerzeichen ersetzt werden. Das die Dateinamen mit zwei Leerzeichen nicht gut ist ist natürlich klar, aber die Anwender sind da sehr kreativ...
Folgenden Code habe ich mir jetzt zum Test geschrieben:
Dim s As notessession
Dim z1 As String
Dim z2 As String
Dim z3 As Variant
Set s=New notessession
Call s.SetEnvironmentVar("einLeer", "ein Leerzeichen", False)
Call s.SetEnvironmentVar("zweiLeer", "zwei Leerzeichen", False)
z1=s.GetEnvironmentString("einLeer", False)
Print "Ein Leerzeichen:" &z1
z2=s.GetEnvironmentString("zweiLeer", False)
Print "Zwei Leerzeichen:" &z2
z3=Evaluate(|@environment("zweiLeer")|)
Print "Zwei Leerzeichen:" &z3(0)
In der Debugger Ausgabe erscheint folgendes:
Ein Leerzeichen:ein Leerzeichen
Zwei Leerzeichen:zwei Leerzeichen
Zwei Leerzeichen:zwei Leerzeichen
Es fehlt das zweite Leerzeichen zwischen "zwei" und "Leerzeichen" in z2 und z3
Ist das normal?
Macht euer Notes das Gleiche? Ich arbeite mit 7.0.3
Für Hinweise bin ich dankbar, vielleicht kann ja sogar jemand mal den Code bei sich selbst laufen lassen und mit das Ergebnis mitteilen.
Bernd
koehlerbv:
Merke: Verschmutze nicht die NOTES.INI.
Und ja: Du kannst nicht alles in Environment-Variable schreiben, was Du willst - da wird manches umgesetzt.
Nimm hierfür ein persönliches Profildokument o.a. geeignetere Orte. Dann bist Du auch vor Überraschungen und dem nächsten professionellen Admin sicher ;)
Bernhard
Hatschi:
Hallo Bernhard,
ok. ich bin ein Nest ähh .iniBeschmutzer.
Fällt dir auf Anhieb noch ein was ausserdem noch umgesetzt wird?
Im aktuellen Fall wird halt ein Dateiname übergeben. Da können auch schon einmal ellenlange Pfade auftauchen. Gibt es da eine bekannte Grenze wieviele Zeichen ein Eintrag in der Notes.ini haben darf?
Oder hast du vielleicht eine Quelle was alles beim Einlesen verändert wird? Denn in der .ini selber stehen noch die zwei Leerzeichen. Das Schreiben in die ini funktioniert also wie gewünscht, lediglich beim Einlesen wirds es verändert.
Bernd
m3:
Und was soll das mit "Frontend" und "Backend"? Beschreib doch mal den Ablauf etwas genauer ...
koehlerbv:
Bernd, liest Du, was Dir andere Leute schreiben? Ich hatte explizit eine saubere Möglichkeit aufgeschrieben (auf deren Basis man sich auch weitere ausdenken kann).
Aus der Beantwortung von Martins Frage kann sich schon gleich die nächste Option auftun.
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln