Агент куда-то девает перевод строки

  • Автор темы ABarmin
  • Дата начала
A

ABarmin

#1
Чтобы как-то наладить выполнение LotusScript между двумя БД решил использовать агенты. Соответственно, данные, которые уходят в агент и которые он возвращает хранятся в переменных окружения. Проблема в том, что эти переменные окружения куда-то девают перевод строки.

С этим можно как-то бороться?

Агент:
Код:
Sub Initialize
' библиотека подключена
Dim setting As New SettingManager

Dim s As New NotesSession
Dim id As String
Dim res As String

id = s.GetEnvironmentString("var")

res = setting.getSetting(id)

Call s.SetEnvironmentVar("res", res)
End Sub
Библиотека получения параметра:
Код:
Public Class SettingManager	
' возвращает параметр по его id
Function getSetting (ID As String) As String
Dim res As Variant
Dim q As String

q = {@dblookup("":"NoCache"; @dbname; "Настройки"; "} + ID + {"; 2; [FAILSILENT])}
res = Evaluate(q)

If Not Isempty(res) Then
Dim out As String
out = ""

Forall r In res
out = out + r + Chr(13)
End Forall

getSetting = out
End If
End Function

' возвращает базу данных, сервер и путь 
' которой указан в значении настройки с ключом
' ID
Function getDB (ID As String) As NotesDatabase

End Function

' конструктор
Sub new

End Sub	
End Class
Когда вызываю getSetting непосредственно из той БД, где она описана все переносы строк на месте.

Что можете посоветовать?
 
A

ABarmin

#3
Уже задавал на этом форуме вопрос, как еще это можно сделать (задал тут, послали сюда), поэтому и решил использовать агенты.

Можно как-то победить проблему с потерей #13??
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 586
272
#6
Chr(13) + Chr(10) - вдруг кому пригодится.
есть нюанецы (и в будущем они проявятся)... :rolleyes: (КМК)
дело в том что в никсах, перевод каретки - Chr(10), а виндях - то что выше
пример уже существующих "накладок" - если импортнуть java (созданый в никсах) сорц в агент или либу - будем долго фтыкать - чёйто компиллер ругаецо ;)