ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage properties / Various properties
  • Exiting a sequence of procedures
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
The After property replaces or inserts a procedure after the other procedures in:
  • a variable of type Procedure.
  • WindowsLinux an event associated with a control.
Example
p is procedure
p = MyProcedure
p.After = MyProcedureCalledAfter
p.Before = MyProcedureCalledBefore
 
// The order for calling the procedures will be:
// - MyProcedureCalledBefore
// - MyProcedure
// - MyProcedureCalledAfter
p()
WindowsLinux
// Specify the process to run on a click
BTN_BUTTON1.Process[trtClick] = myProcedure1
 
// Add a procedure to run on a click
BTN_BUTTON1.Process[trtClick] += myProcedure2
 
// Adds a procedure to run after the click process
BTN_BUTTON1.Process[trtClick].After += myProcedure3
Syntax

Replacing existing procedures with the After property (= operator) Hide the details

<Element>.After = <WLanguage procedure>
<Element>: Control name
Element to use:
  • Name of a variable of type Procedure.
  • WindowsLinux Event of a control. The events of a control can be handled with the Process property.
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure that will replace the existing procedures.

Inserting a procedure after the existing procedures (+= operator) Hide the details

<Element>.After += <WLanguage procedure>
<Element>: Control name
Element to use:
  • Name of a variable of type Procedure.
  • WindowsLinux Event of a control. The events of a control can be handled with the Process property.
<Language procedure>: Procedure name
Name of the WLanguage procedure to be inserted after the current procedure.
Remarks

Exiting a sequence of procedures

If several procedures are executed in a sequence, this sequence can be interrupted from the code of one of the procedures using SetFocusAndReturnToUserInput.
Example:
// Click on BTN_Button1
BTN_Button2.Process[trtClick].After += MyProc1
BTN_Button2.Process[trtClick].After += MyProc2
// Click on BTN_Button2
Trace("Button 2 clicked")
PROCEDURE MyProc1()
Trace(dbgInfo(dbgProcess))
SetFocusAndReturnToUserInput(MySelf.Name)
PROCEDURE MyProc2()
Trace(dbgInfo(dbgProcess))
Minimum version required
  • Version 19
This page is also available for…
Comments
About versions prior to 27
When using the Process property on a control, you must use 2 dots before the AFTER

BTN_test.Process[trtClick]..after = myProc1
BTN_test.Process[trtClick]..after += myProc2

Otherwise, the compiler complains that your procedure should return a value.
CCordes
04 Aug. 2022

Last update: 11/02/2022

Send a report | Local help