AnsweredAssumed Answered

IEdmBatchUnlock error on AddSelection: Invalid Parameter

Question asked by Danny Bradford on Jun 24, 2014
Latest reply on Jun 24, 2014 by Danny Bradford

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.

Outcomes