в чем разница между выводом и выводом потока - PullRequest
0 голосов
/ 02 ноября 2018

, пожалуйста, вы можете помочь мне понять разницу между Output To и Output Stream в Progress 4GL, а также что такое Stream ? страницы документации Progress не сильно помогают.

Большое спасибо.

1 Ответ

0 голосов
/ 02 ноября 2018

Поток похож на дескриптор файла. Вы можете открыть несколько потоков и записывать их по мере необходимости. Например, у вас могут быть разные потоки для данных и журналов ошибок.

Операции ввода и вывода всегда используют поток. Если вы явно не создадите его и не дадите ему имя, по умолчанию он называется безымянным потоком.

define stream dataStrm.
define stream logStrm.

output stream dataStrm to value ( "mystuff.dat" ).
output stream logStrm to value ( "mystuff.log" ).

put stream logStrm now " start" skip.

put stream dataStrm "xyzzy" skip.

put stream logStrm now " end" skip.

output stream dataStrm close.
output stream logStrm close.

Использовать поток по умолчанию, без имени, легко, но если ваша обработка сложная или часто открывает и закрывает целевой файл или если он включает в себя несколько файлов, становится трудно отслеживать, что происходит. Если вы получаете ошибки о том, что потоки или выходные назначения уже имеют конфликтующее использование, но вы не определяете какие-либо потоки, вы, вероятно, выиграете от создания и использования именованных потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...