PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • General extension attributes
  • Extension attributes specific to OOP and MVP
  • Extension attributes specific to variables
  • Extension attributes specific to local/global or internal procedures
  • Extension attributes to manage timers
  • Extension attributes to manage threads
  • Remark
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
Extension attributes are special WLanguage statements that allow you to add specific properties or functionalities to variables or procedures. These extension attributes help simplify code and facilitate the maintenance of your applications.
WINDEV, WEBDEV and WINDEV Mobile propose several extension attributes. This page presents the different extension attributes available, grouped by theme.
The extension attribute categories are:
To simplify the input of extension attributes, the code editor automatically proposes the list of available extension attributes when the "<" key is pressed. For more details, see Automatic completion.
General extension attributes
The general extension attributes are:
C#Allows you to define a WLanguage procedure that can be called via a C# code.
For more details, see C#: Call to WLanguage procedure.
WEBDEV - Server codeUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple WatchJava Not available
GUI / UIUsed to indicate the use of the variable or procedure in a code or process containing both UI code and Business logic.
For more details, see Splitting Business logic/UI code.
JavaAllows you to define a WLanguage procedure that can be called via a Java code.
AndroidAndroid Widget Java Available only on Java, Android and Android widget.
Business logicUsed to indicate the use of the variable or procedure in a code or process containing both UI code and Business logic.
For more details, see Splitting Business logic/UI code.
ObjCAllows you to define a WLanguage procedure that can be called via an Objective C code.
iPhone/iPad Available only on iOS.
browser synchronizedIt is used to make a global server variable available on the browser side. The content is synchronized.
The value assigned to a "browser synchronized" global variable in server code is retrieved in a browser code executed later.
The value assigned to a global variable in a browser code is retrieved in a server code executed later.
Llimitation: In order to avoid overwriting, changes are synchronized only:
Caution: Changes are not synchronized for the server code of an Upload control or Clickable Image control because these processes do not send the value of the controls to the server.
To use this extension attribute it is necessary to use the framework V2 of the browser code.
xmlAttributeUsed to specify that the member is created as attribute (instead of tag).
For more details, see Serialize.
AndroidAndroid Widget Java Not available
Extension attributes specific to OOP and MVP
The extension attributes specific to OOP and MVP are:
SerializeUsed to manage the serialization of each class member or structure member.
For more details, see Serialize.
no step intoUsed to specify that a method will be ignored by the debugger when debugging in "Step by step" mode.
For more details, see the help on how to declare Classes, members, methods and properties
presenterUsed to associate a class of the presenter layer with a view (window or report).
For more details, see MVP RAD.
WEBDEV - Server codeUniversal Windows 10 AppAndroidAndroid Widget iPhone/iPadApple WatchJava Not available
mappingUsed to specify the name of member that will be "mapped" to the structure member or to the class member.
For more details, see:
associatedUsed to access the members, the methods and the properties of a Model class from its Presenter class without having to perform any "rebounds".
For more details, see MVP RAD.
copyUsed to specify the operation to be performed when copying an instance of an object.
  • <Copy=Clone>: when used on a dynamic object, this extension attribute allows forcing the cloning of the object.
  • <Copy=False>: when used on a member, this extension attribute prevents copying the member's value when copying an object to another object.
For more details, see Copying and cloning.
Extension attributes specific to variables
The extension attributes specific to variables are:
ControllerIndicates that a variable is controller in a test script code. This controller variable can then be used in the test code, for example to check the result of a procedure.
For more details, see Manager of automated tests.
critical sectionUsed to associate a critical section with a variable.
For more details, see Managing the critical sections.
browser synchronizedUsed to synchronize a variable global to the project to make it available on the browser side. In this case the value assigned to a global variable in a browser code, can be retrieved later in a server code.
For more details, see Global and local variables.
server onlyUsed to protect a variable global to the project to make it unavailable on the browser side.
For more details, see Global and local variables.
usefulPrevents a warning message from being displayed when a local variable is not used.
For more details, see Declaring and using a variable.
zombieUsed to specify that a variable or a procedure is obsolete and that it should not be used anymore.
For more details, see the help on how to declare a Global and local variable.
Extension attributes specific to local/global or internal procedures
The extension attributes specific to local, global or internal procedures are:
report nameAllows you to directly use the name of a project report in the procedure parameters.
For more details, see Passing parameters.
window nameAllows you to directly use the name of a project window in the procedure parameters.
For more details, see Passing parameters.
page nameAllows you to directly use the name of a project page in the procedure parameters.
For more details, see Passing parameters.
automaticUsed to specify that this procedure will be run automatically after the initialization code (of the window, page or project).
For more details, see Declaring a procedure/a function.
end processUsed to indicate that this procedure will be executed when the process containing the procedure call is finished.
For more details, see Declaring a procedure/a function.
end eventUsed to specify that this procedure will be run after the event that contains the call to the procedure.
For more details, see Declaring a procedure/a function.
zombieUsed to specify that a variable or a procedure is obsolete and that it should not be used anymore.
For more details, see the help on Declaring a procedure/a function.
usefulUsed to avoid a warning when a procedure declares some parameters that are not immediately used.
For more details, see Useful parameters of a procedure.
no step intoUsed to specify that a procedure will be ignored by the debugger when debugging in "Step by step" mode.
For more details, see the help on Declaring a procedure/a function.
Extension attributes to manage timers
The extension attributes specific to the management of timers are:
timerUsed to specify that the procedure will be run in a Timer.
For more details, see Declaring a procedure/a function.
repetitionUsed to specify that the procedure is called several times in a row (repetitions).
For more details, see Declaring a procedure/a function.
intervalUsed to specify the duration (interval) between 2 calls to the procedure.
For more details, see Declaring a procedure/a function.
call againUsed to specify, in a procedure called in a Timer, the operating mode of subsequent calls.
For more details, see Declaring a procedure/a function.
delayUsed to specify the wait time before the start of the procedure in a Timer (during the first call).
For more details, see Declaring a procedure/a function.
Extension attributes to manage threads
The extension attributes specific to the management of threads are:
threadUsed to specify that the procedure will be run in a secondary thread.
For more details, see Declaring a procedure/a function.
main threadUsed to specify that the procedure will be run in the main thread.
For more details, see Declaring a procedure/a function.
secure threadUsed to specify that the procedure will be run in the secure secondary thread.
For more details, see Declaring a procedure/a function.
light HFSQL contextTriggers the immediate copy of a part of the current HFSQL context.
For more details, see Declaring a procedure/a function.
full HFSQL contextTriggers the immediate copy of the current HFSQL context.
For more details, see Declaring a procedure/a function.
Remark
You can combine several extension attributes using the syntax, according to the type of declaration and the object used:
Declaration of my object <Name Attribute 1=value1, Name Attribute 2=value2, ...>

For example, for a declaration of a buffer variable:
Class
m_buffer is Buffer <serialize=false,mapping="ImageMemo">
END
Minimum version required
  • Version 15
This page is also available for…
Comments
Click [Add] to post a comment