Ошибка при прерывании функции – "Объектная переменная не определена" (решено)

Автор Dr_Lecter, 27 марта 2017, 20:20

0 Пользователи и 1 гость просматривают эту тему.

Dr_Lecter

В программе часто используется функция для выбора файла для чтения его в строковую переменную.
Установлено Option Explicit
Переменная внутри функции объявлена.
Если выбираешь файл для чтения – все ОК!
Но при нажатии "Отмена" в диалоге выбора файла ругаться на строку "oInputStream.CloseInput()" – "Объектная переменная не определена"
Раньше такого не было – проблема после последнего обновления OO до 4.1.3 проверено на Mac OS X 10.11.6 и Win 10 Pro

Сама функция:


Function sReadTextFileToString(sInputFilename AS String) AS String
Dim oUcb as Object
Dim oInputStream as Object
Dim oInputFile AS Object
Dim sCurrentLine AS String
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
If oUcb.Exists(sInputFilename) Then
oInputStream = createUnoService("com.sun.star.io.TextInputStream")
oInputFile = oUcb.OpenFileReadWrite(sInputFilename)
oInputStream.SetInputStream(oInputFile.GetInputStream)
Do While not oInputStream.IsEOF
sCurrentLine = oInputStream.ReadLine
If sCurrentLine <> "" Then
sReadTextFileToString = sReadTextFileToString & sCurrentLine & Chr(10)
End If
Loop
End If
oInputStream.CloseInput()
End Function


Dr_Lecter