InfoConnect VBA Guide
Attachmate.Reflection.Objects.Emulation.IbmHosts Library / IbmScreen Object / DefineEvent Method
The Long value to be used as an identifier for this event. If the value is set to 0 then a value will be automatically assigned.
A DefinedEventType enumeration value that specifies the event type being defined.
Specifies an interval of time in HH:MM:SS format. The specified event must last this long to satisfy the definition. This argument is only relevant when the value you use for the EventType argument requires a duration. That is, when EventType is DefinedEventType_Silence or DefinedEventType_KeyboardEnabled. The interval begins when the DefineEvent method is executed.
Specifies the string that defines string-oriented events. This argument is only relevant when the value you use for EventType requires a string. That is, when EventType is DefinedEventType_DisplayString, DefinedEventType_TimeOfDay, or DefinedEventType_TimeElapsed.
Specifies the row location for screen events. Use a row number to specify a particular row. When EventType is DefinedEventType_DisplayString, you can use 0 to indicate that the event can occur at any row location. This argument is relevant when EventType is DefinedEventType_CursorEnterField, DefinedEventType_CursorExitField, DefinedEventType_CursorEnterPosition, DefinedEventType_CursorExitPosition, or DefinedEventType_DisplayString.
Specifies the column location for screen events. Use a column number to specify a particular column. When EventType is DefinedEventType_DisplayString, you can use 0 to indicate that the event can occur at any column location. This argument is relevant when EventType is DefinedEventType_CursorEnterField, DefinedEventType_CursorExitField, DefinedEventType_CursorEnterPosition, DefinedEventType_CursorExitPosition, or DefinedEventType_DisplayString.
Example
DefineEvent Method (IbmScreen)
Defines a specific event.
Syntax
expression.DefineEvent( _
   ByVal EventNumber As Integer, _
   ByVal EventType As DefinedEventType, _
   ByVal Duration As String, _
   ByVal StringParam As String, _
   ByVal Row As Integer, _
   ByVal Column As Integer _
) As Integer
where expression is a variable that represents a IbmScreen Object

Parameters

EventNumber
The Long value to be used as an identifier for this event. If the value is set to 0 then a value will be automatically assigned.
EventType
A DefinedEventType enumeration value that specifies the event type being defined.
Duration
Specifies an interval of time in HH:MM:SS format. The specified event must last this long to satisfy the definition. This argument is only relevant when the value you use for the EventType argument requires a duration. That is, when EventType is DefinedEventType_Silence or DefinedEventType_KeyboardEnabled. The interval begins when the DefineEvent method is executed.
StringParam
Specifies the string that defines string-oriented events. This argument is only relevant when the value you use for EventType requires a string. That is, when EventType is DefinedEventType_DisplayString, DefinedEventType_TimeOfDay, or DefinedEventType_TimeElapsed.
Row
Specifies the row location for screen events. Use a row number to specify a particular row. When EventType is DefinedEventType_DisplayString, you can use 0 to indicate that the event can occur at any row location. This argument is relevant when EventType is DefinedEventType_CursorEnterField, DefinedEventType_CursorExitField, DefinedEventType_CursorEnterPosition, DefinedEventType_CursorExitPosition, or DefinedEventType_DisplayString.
Column
Specifies the column location for screen events. Use a column number to specify a particular column. When EventType is DefinedEventType_DisplayString, you can use 0 to indicate that the event can occur at any column location. This argument is relevant when EventType is DefinedEventType_CursorEnterField, DefinedEventType_CursorExitField, DefinedEventType_CursorEnterPosition, DefinedEventType_CursorExitPosition, or DefinedEventType_DisplayString.

Return Value

Assigned event number
Remarks
Do not try to use VBA DefineEvent method / DefinedEvent event infrastructure and legacy Reflection COM DefineEvent/DefinedEvent infrastructure from within a single active session. This will not work properly as there are differences in functionality between the two and they each utilize the same resources in the underlying connectivity code.
Example
This example defines an event that occurs when there is no host activity for 30 seconds and handles the event to disconnect the session.
'Place this code in the ThisIbmTerminal code window
Private Sub IbmTerminal_AfterConnect(ByVal sender As Variant)
    
    ThisIbmScreen.ClearEvents
 
    'Define an event that occurs when there is no host activity for 30 seconds
    ThisIbmScreen.DefineEvent 1, DefinedEventType_Silence, "00:00:30", " ", 0, 0
    
End Sub
 
'Place this code in the ThisIbmScreen code window. The following procedure is executed when a defined event triggers.
Private Sub IbmScreen_DefinedEvent(ByVal EventNumber As Long, ByVal EventType As Attachmate_Reflection_Objects_Emulation_IbmHosts.DefinedEventType, ByVal TheString As String, _
     ByVal row As Long, ByVal column As Long)
     
    'If the host is inactive for the specified interval, disconnect
    If EventNumber = 1 Then
        ThisIbmTerminal.Disconnect
    End If
    
End Sub
See Also