Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

'-----------------------------------------------------------------

While (True)

'Значения всех этих переменных должны быть нулевыми до и после

'вызова sendStream(...), если не было сгенерировано исключение!

irDASender = Nothing

streamOutToIrDA = Nothing

streamInFromFile = Nothing

'Попытаться передать поток

Dim bSuccess As Boolean

Try

bSuccess = sendStream(mjdescriptionOfLastSendAttempt, _

streamOutToIrDA, irDASender, streamInFromFile)

Catch eUnexpected As System.Exception 'Неожиданная ошибка!!!

setStatus(SendStatus.Finished_Error) 'Уведомить о сбое

m_descriptionOfLastSendAttempt = _

"Unexpected error in IR send loop. " + eUnexpected.Message

'------------------------------------------------

'Освободить все распределенные нами ранее ресурсы

'------------------------------------------------

If Not (streamOutToIrDA Is Nothing) Then

Try

streamOutToIrDA.Close

Catch

'Поглотить любую ошибку

End Try

streamOutToIrDA = Nothing

End If

If Not (streamInFromFile Is Nothing) Then

Try

streamInFromFile.Close

Catch

'Поглотить любую ошибку

End Try

streamInFromFile = Nothing

End If

If Not (irDASender Is Nothing) Then

Try

irDASender.Close

Catch

'Поглотить любую ошибку

End Try

irDASender = Nothing

End If

Return 'Выход

End Try

'Проверить успешность выполнения

If (bSuccess = True) Then

m_descriptionOfLastSendAttempt = "Success!"

setStatus(SendStatus.Finished Successfully)

Return

End If

'Проверить, не была ли операция отменена пользователем

If (m_wasSenderStopped = True) Then

m_descriptionOfLastSendAttempt = "User Aborted."

setStatus(SendStatus.Finished_Aborted)

Return

End If

'В противном случае... Нам пока не удалось обнаружить сервер IrDA,

'имя которого совпадает с именем службы. Мы продолжим выполнение цикла

'и попытаемся найти сервер.

End While

'Мы никогда не попадем в это место программы при выполнении

End Sub

'----------------------------------------------------------------------

'Попытаться передать поток ввода-вывода (например, файл) посредством IR

'[возвращаемое значение]:

' true: успешная передача файла

' false: файл не был успешно передан

'----------------------------------------------------------------------

Private Function sendStream(ByRef errorDescription As String, _

ByRef streamOutToIrDA As System.IO.Stream, _

ByRef irDASender As System.Net.Sockets.IrDAClient, _

ByRef streamInFromFile As System.IO.Stream) As Boolean

  • Читать дальше
  • 1
  • ...
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: