Domino 9 und frühere Versionen > ND7: Entwicklung

GetEnvironmentValue schluckt doppelte Leerzeichen

(1/2) > >>

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