GefProcAction.GetOpenScreenEx3 (method)

Retrieves the configuration information for the action.
Syntax: Boolean = object.GetOpenScreenEx3 ( ScreenName, BaseProject, PercentZoom, Captive, X, Y, Geometry, PositionType, SendPublicVarValues, VariableValues )
Parameters:
ScreenName As BSTR* -
BaseProject As BSTR* -
PercentZoom As long* -
Captive As VARIANT_BOOL* -
X As long* -
Y As long* -
Geometry As BSTR* -
PositionType As GefPositionTypeEnum* -
SendPublicVarValues As VARIANT_BOOL* -
VariableValues As VARIANT* - Pass in an existing CoCimSafeArray3 object. It will be filled in with a two dimensional array containing the initial variable values configured for the action. (Note: In VBScript and VBA/VB, you may pass a Variant and this function will return a native array.)
Description: This method is valid only if the Type of the action is GefActionOpenScreen.

The arguments correspond to the fields in the action panel of the Procedure Infromation dialog box.

Example:

Sub GefProcAction_GetOpenScreenEx3()
 
  Dim oCimObj As GefObject
  Dim oCimProcs As GefProcedures
  Dim oCimProc As GefProcedure
  Dim oCimProcActs As GefProcActions
  Dim oCimProcAct As GefProcAction
  Dim strScrName As String
  Dim strProject As String
  Dim nPercentZoom As Long
  Dim bCaptive As Boolean
  Dim nX As Long
  Dim nY As Long
  Dim strGeometry As String
  Dim nPositionType As Long
  Dim bSendPubVarVals As Boolean
  Dim initVars As CoCimSafeArray2
  Set initVars = CreateObject("CIMPLICITY.CimSafeArray.2")
 
  Set oCimObj = CimGetObject
  Set oCimProcs = oCimObj.Procedures
  If oCimProcs.Count > 0 Then
    Set oCimProc = oCimProcs.Item(0)
    If Not oCimProc Is Nothing Then
      Set oCimProcActs = oCimProc.Actions
      If oCimProcActs.Count > 0 Then
        Set oCimProcAct = oCimProcActs.Item(0)
        If oCimProcAct.Type = gefActionOpenScreen Then
          If oCimProcAct.GetOpenScreenEx3(strScrName, strProject, nPercentZoom, _
            bCaptive, nX, nY, strGeometry, nPositionType, bSendPubVarVals, initVars) = True Then
 
            MsgBox "screen: " & strScrName _
              & ", project: " & strProject _
              & ", zoom " & nPercentZoom _
              & ", captive: " & bCaptive _
              & ", pos: " & nX & "," & nY _
              & ", Geometry: " & strGeometry _
              & ", position type: " & nPositionType _
              & ", SendPubVarVals: " & bSendPubVarVals
 
            Dim lb As Long
            Dim ub As Long
            Dim vals As String
            Dim i As Long
            initVars.GetArrayBounds 2, lb, ub
            vals = (ub - lb + 1) & " Initial Variable Values:"
            For i = lb To ub
              vals = vals & Chr(13) & " " & initVars.Element2(0, i) _
                & " ==> " & initVars.Element2(1, i)
            Next i
            MsgBox vals
 
          End If
        End If
      End If
    End If
  End If
 
End Sub
See Also: SetToOpenScreenExGeometry , GetOpenScreen , SetToOpenScreen , SetToOpenScreenEx , SetToOpenScreenEx2