Переменная VBScript теряет свое содержимое? - PullRequest
1 голос
/ 12 февраля 2010

У меня есть следующий код. Что он делает, так это то, что читает все ключи, значения из файла свойств.

Function readProperties(fileName)
    Dim oFS : Set oFS = CreateObject( "Scripting.FileSystemObject" )
    Dim dicProps : Set dicProps = CreateObject( "Scripting.Dictionary" )
    Dim oTS : Set oTS = oFS.OpenTextFile( fileName )
        Do Until oTS.AtEndOfStream
            Dim sLine : sLine = Trim( oTS.ReadLine )
            'Wscript.Echo sLine
            If ""  sLine Then
                If not "#" = Left( sLine, 1 ) Then

                    Dim aParts : aParts = Split( sLine, "=" )
                    If 1  UBound( aParts ) Then
                        WScript.Echo oTS.Line, "bad property line", sLine
                    Else
                    'Wscript.Echo "Adding: " & aParts( 0 ) &" => " & aParts( 1 )
                        dicProps( Trim( aParts( 0 ) ) )  = Trim( aParts( 1 ) ) 
                    'WScript.Echo oTS.Line, "good property line",  sLine
                    End If

                End If
            End If
        Loop
    oTS.Close

    'readProperties = dicProps

    Dim sKey
    For Each sKey In dicProps.Keys
        WScript.Echo sKey, "=>", dicProps( sKey )
    Next
End Function

Странно то, что если я присваиваю значение dicProps для readProperties, код больше не работает.

Я что-то упускаю в этом?

1 Ответ

2 голосов
/ 12 февраля 2010

Использование

Set readProperties = dicProps

Вы всегда должны использовать Set при работе с объектами.

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