AnsweredAssumed Answered

Complie Error: Type mismatch: array or user-defined type expected when using EdmPoint

Question asked by Jesse Meiring on Feb 26, 2019
Latest reply on Feb 26, 2019 by Artem Taturevych

My current issue is a "Complie Error: Type mismatch: array or user-defined type expected" when I try to use the GetArrowVerticies on a transition I find in the vault. I can't seem to determine how to define the EdmPoint properly. Any help is greatly appreciated! Thanks!




Dim swApp As Object

Sub main()

Dim vault               As IEdmVault8

Dim WorkflowMgr         As IEdmWorkflowMgr6

Dim Workflow            As IEdmWorkflow6

Dim WFpos               As IEdmPos5

Dim Trns                As IEdmTransition10

Dim Tpos                As IEdmPos5

Dim State               As IEdmState6

Dim Spos                As IEdmPos5

Dim AVx()               As EdmPoint



Set swApp = Application.SldWorks

Set vault = New EdmVault5

vault.LoginAuto "Vault", 0

Set WorkflowMgr = vault.CreateUtility(EdmUtil_WorkflowMgr)

Set WFpos = WorkflowMgr.GetFirstWorkflowPosition()

Do While WFpos.IsNull <> True

    Set Workflow = WorkflowMgr.GetNextWorkflow(WFpos)

    Debug.Print "~ID = " & Workflow.ID & " Name = " & Workflow.Name

    Debug.Print " -States-"

    Set Spos = Workflow.GetFirstStatePosition()

    Do While Spos.IsNull <> True

        Set State = Workflow.GetNextState(Spos)

        Debug.Print "   ID = " & State.ID & " Name = " & State.Name


    Debug.Print " -Transitions-"

    Set Tpos = Workflow.GetFirstTransitionPosition()

    Do While Tpos.IsNull <> True

        Set Trns = Workflow.GetNextTransition(Tpos)

        Trns.GetArrowVertices (AVx())  '<--- This is the line that is highlighted when I compile

        Debug.Print "   ID = " & Trns.ID & " Name = " & Trns.Name