IEdmBatchUnlock error on AddSelection: Invalid Parameter

Greetings,

I am trying to run IEdmBatchUnlock and have an on AddSelection. I am running VB.NET. I have tried every variation found on Google with no success. I have brought in sample code from scratch from Solidworks websites and it hits the exact same error.

I am running ePDM 2012 so I use "Imports EdmLib" on launch. Could this be a bug in this version?

My goal is to search the system for all files checked out by the individual running this tool and having the system check it all in. A one button end of the day easy check it all in function.

The search function is not solid yet, but it works well enought for this testing.

        Dim userMgr As IEdmUserMgr7

        userMgr = vault1

        Dim user As IEdmUser8

        user = userMgr.GetLoggedInUser

        Dim list_files() As EdmSelItem = Nothing

         Dim retval1 As Boolean

         Dim Check_In_List As IEdmBatchUnlock

        Dim User_Comments As String

        Dim i As Integer = 0

        ReDim list_files(200)

        User_Comments = "Auto Checked in from Dashboard"

         Check_In_List = vault1.CreateUtility(EdmUtility.EdmUtil_BatchUnlock)

 

        Dim Search As IEdmSearch5

        Search = vault1.CreateUtility(EdmUtility.EdmUtil_Search)

        Search.FindLockedFiles = True

        Search.FindUnlockedFiles = False

        Dim Result As IEdmSearchResult5

        Result = Search.GetFirstResult

         While Not Result Is Nothing

            If Result.LockedByUserName = user.FullName.ToString Then

                list_files(i) = New EdmSelItem

                list_files(i).mlDocID = Result.ID

                list_files(i).mlProjID = Result.ParentFolderID

                MsgBox("Would check in: " & list_files(i).mlDocID & "  Locked by:  " & list_files(i).mlProjID & "  " & i)

                i = i + 1

            End If

            Result = Search.GetNextResult

        End While

        Array.Resize(list_files, i + 1)

        Try

 

            Check_In_List = DirectCast(vault1.CreateUtility(EdmUtility.EdmUtil_BatchUnlock), IEdmBatchUnlock)

            Check_In_List.AddSelection(DirectCast(vault1, EdmVault5), list_files)

This last line of code is the error. Your time and help is greatly appreciated.

SolidworksSolidworks Pdm enterprise Pdm