RAISEEVENT( ) Function

You can use RAISEEVENT( ) to raise, or trigger, an event from a custom method. Though RAISEEVENT( ) applies primarily to custom methods, you can use it for raising native events and methods.

RAISEEVENT( oEventSource, cEvent [, eParm1...] )

Parameters

  • oEventSource   
    Specifies the event source, which must be a valid Visual FoxPro object.
  • cEvent
    Specifies the name of the event, method, or property you want to raise.
  • eParm1...
    Specifies one or more parameters to pass if the method has parameters.

Return Value

Logical data type. RAISEEVENT( ) always returns True (.T.).

Remarks

Visual FoxPro automatically raises events for custom methods that are bound to objects using BINDEVENT( ) if the methods are called directly. For example, the following code does not raise an event:

oForm.GetMyData(cData)

Instead, to raise an event for a custom method, you need to make the following call:

RAISEEVENT( oForm, "GetMyData", cData )

You can also change this behavior by using BINDEVENT( ) with nFlags set to 2 or 3.

The event you wish to raise must be marked Public, not Hidden or Protected.

If you use RAISEEVENT( ) on a property, Visual FoxPro sets the property to itself. The following example sets the Caption property for _SCREEN to the current value for Caption:

RAISEEVENT( _SCREEN, "Caption" )

Raising an event fails if you bind to an event, for example, using BINDEVENT( ), that has parameters that are passed by reference.

Visual FoxPro disregards recursive **RAISEEVENT( )**calls to an event from within the same raised event.

Example

Activating a form or using Form1.Show triggers the Activate event for the form. However, calling the Activate event directly using a call such as Form1.Activate does not trigger the Activate event. The following example shows how you can use RAISEEVENT( ) to trigger the Activate event:

RAISEEVENT( Form1, "Activate" )

See Also

Tasks

Bind, Raise, Unbind, and Retrieve Events Sample

Reference

BINDEVENT( ) Function
UNBINDEVENTS( ) Function
AEVENTS( ) Function

Concepts

Event Binding for Visual FoxPro Objects

Other Resources

Functions