AnsweredAssumed Answered

Event Handler for Expedition

Question asked by andrew_french on Mar 4, 2013
Latest reply on Mar 4, 2013 by andrew_french

I want to add an event handler for Expedition so that when it closes it will set the default license to be used on next instantiation to Ascent.  I found the example for event handling in the documentation, copied it and made the changes for what I needed accomplished.  My problem is arising from code already populated in the example.

 

"Set docPCB = GetLicensedDoc(appPCB)" is where the script dies when I am opening Expedition.

 

And the error is:

Type mismatch: 'GetLicensedDoc'

 

Any help on fixing the error would be appreciated. Thanks.

 

'

' The example below shows the event handler framework for an

' Expedition application object.

'

Dim docPCB

Dim doNotExit

doNotExit = True

 

' ==================================

' The application is quitting

' ==================================

Sub appEvents_Quit()

 

    'Sets the default license back to Ascent

    Dim Reg, Path

    set reg = CreateObject("WScript.Shell")

    Path = "HKCU\Software\Mentor Graphics\ExpeditionPCB\Expedition PCB\2007.00\Licenses\"

    reg.RegWrite Path & "Pinnacle","0", "REG_DWORD"

    reg.RegWrite Path & "Ascent LX","0", "REG_DWORD"

    reg.RegWrite Path & "Ascent","1", "REG_DWORD"

 

   'MsgBox "Quitting the Application"

   'Exit the infinite loop

   doNotExit = False

   ' Make sure all objects are released "

   Set docPCB = Nothing

   Set appPCB = Nothing

End Sub

 

'

' Testing code for the sample

'

Dim appPCB

Set appPCB = GetObject(,"MGCPCB.ExpeditionPCBApplication")

Call Scripting.AttachEvents(appPCB, "appEvents")

' collect document object

Set docPCB = GetLicensedDoc(appPCB)

' An infinite loop to prevent script from exiting

Do While doNotExit

   Scripting.Sleep(300)

Loop

Outcomes