Domino 9 und frühere Versionen > ND7: Entwicklung

GetEnvironmentValue schluckt doppelte Leerzeichen

<< < (2/2)

Hatschi:
Guten Morgen Martin,
Guten Morgen Bernhard.

Ja, ich lese das was ihr mir schreibt und dafür bin ich euch sehr dankbar.
Wenn ich aber an einer über 18 Jahren gewachsenen und nicht von mir entwickelten Datenbank etwas nachbessere, dann möchte ich das mit möglichst geringen Veränderungen durchführen. Frei nach dem Motto "Never touch a running system". Ich bin ja froh überhaupt die Ursache für das Problem gefunden zu haben.
Wenn ich also die Grenzen von den Umgebungsvariablen wüsste, könnte ich mein Problem vielleicht mit ein oder zwei Zeilen lösen ohne gleich tiefer in das System eingreifen zu müssen.

Nun zu Frontend und Backend. Es gibt mehrere RTFs die mit der Büroklammer gefüllt werden können. Aber für ein RTF darf nur genau eine Datei angehangen werden. Dafür gibt es einen Schalter "Datei anhängen" in Formelsprache. Damit soll sichergestellt werden, dass eben nur eine Datei in diesem Feld angehangen werden kann und nicht mehr. Dafür wird das Dokument nach einer ganzen Menge von Prüfungen erst im Frontend gespeichert. Anschließend wählt man die Datei aus und der Dateiname wird in das Environment geschrieben. Jetzt wird ein weiterer Script-Agent aufgerufen. Der liest nun die Umgebungsvariablen aus und hängt die Datei an. Das funktioniert auch so weit, aber es gab halt immer wieder Probleme deren Ursache nicht klar war.

Nachdem ich nun weiß dass das Environment da einen Strich durch die Rechnung macht, bin ich ja schon einen Schritt weiter. Wenn die doppelten Leerzeichen die einzige Einschränkung wären, würde ich beim Speichern in die ini die doppelten Leerzeichen vielleicht durch die Zeichenfolge "$&%" ersetzen. Und beim Auslesen würde ich diese Zeichenfolge wieder durch zwei Leerzeichen zurück übersetzen. Treten jedoch beim Einlesen der Umgebungsvariablen mehrere nicht bekannte Umsetzungen auf, werde ich damit nur einen Teil der Probleme lösen und eher die Finger davon lassen. Dann ist doch zu überlegen, ob nicht doch auf den Vorschlag eines Profildokumentes zurückgreife.

Bernd

Keydins:
Ich gehe jetzt mal frecherweise davon aus, dass @Environment bzw. GetEnvironmentString eine @Trim-Funktion integriert hat (das würde das mit den Leerzeichen logisch erklären.)

Möglichkeit: Ersetze alle Leerzeichen beim Speichern durch ein Zeichen, das keines der bei euch verwendete Betriebsysteme für Dateinamen zuläßt. Somit kannst du nach dem Einlesen die Leerzeichenorgie eurer User sauber wiederherstellen.

(Bei Windows wären u.a. folgende Zeichen geeignet* : ? | )


Generell stimme ich Bernhard zu, es gibt elegantere Lösungen für das Problem, auch wenn die in einer seit Jahren bestehenden Lösung ggf. etwas mehr Aufwand bei der Umsetzung bedeuten.


Gruß
Dirk

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln