COS Как установить Ens.StringContainer в строковое значение

Мне нравится понимать, как вы можете установить 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 

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 имущество. Нет необходимости вызывать его напрямую, просто установите свойство.

Другие вопросы по тегам