COS Как установить для Ens.StringContainer значение String

Мне нравится понимать, как можно установить для Ens.StreamConainer строковое значение. Я просто вижу класс для установки OriginalFilename, но ничего не для установки тела.

s pRequest = ##class(Ens.StreamContainer).%New()
s pRequest.OriginalFilename = "Test"
d pRequest.Stream.Read(hl7) //Error Out
d pRequest.StreamSet(hl7) //Getting empty string 

person Jefferson    schedule 12.01.2018    source источник


Ответы (1)


Если hl7 - поток:

s pRequest = ##class(Ens.StreamContainer).%New(hl7)

Это hl7 строка:

s pStream = ##class(%Stream.GlobalCharacter).%New()
do pStream.Write(hl7)
s pRequest = ##class(Ens.StreamContainer).%New(pStream)

Некоторые советы по коду:

d pRequest.Stream.Read (hl7) // Ошибка выхода

Read читает из потока, а Write записывает в поток.

d pRequest.StreamSet (hl7) // Получение пустой строки

Это метод установки для Stream собственности. Нет необходимости вызывать его напрямую, просто установите свойство.

person rfg    schedule 13.01.2018