PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Implementation
  • Including the files of the C# interface of WINDEV
  • Loading the WINDEV library (WDL)
  • Running WINDEV codes from the external language
  • 1. Calling a WLanguage code
  • 2. Retrieving the events triggered in the WINDEV windows
  • Ending the application
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
We are going to call the elements developed in WINDEV (project, windows, analysis, ...) from the C# language.
Reminder: C# is a language of the .NET platform.
The WLanguage code used from the external language will be dynamically compiled and run during its call.
This mode is illustrated by the City.cs project (in C# format) supplied in the "ExternalLanguages\C#" sub-directory of the setup directory of WINDEV.
Note: The C# language does not allow you to use the HyperFileSQL engine. To handle the HyperFileSQL engine, perform the necessary processes in WINDEV.
Implementation

Including the files of the C# interface of WINDEV

The following file must be found in the runtime directory of your C# program in order to call the C# interface of WINDEV:
  • WINDEV.CS
  • wdxxxle.dll
  • wdXXXICS.DLL
The methods of the WINDEV class must be called and prefixed by "WINDEV.":
WINDEV.CALLWD("LIBRA,Disk,city.wdl");
Loading the WINDEV library (WDL)
The WINDEV library (.WDL) contains all the project elements (windows, reports, classes, queries, analysis, ...). Therefore, it must be loaded in memory in order for its components to be called.
Caution: If windows must be loaded outside the library, the code of each one of these windows must be included in the corresponding ".WDW" file ("Include the compiled code" must be checked in the "Details" tab of the description of each window).
// Opening the library
// if WDInt is not null, the library was not found!
WINDEV.CALLWD("LIBRA,Disk,city.wdl");
if (WINDEV.WDInt() == 0)
{
...
}
else
{
// Library not found
WINDEV.CALLWD("Error, Library not found");
}
// Terminate...
WINDEV.WDEnd();
Running WINDEV codes from the external language

1. Calling a WLanguage code

All the WLanguage functions can be called from the external language. The behavior of these WLanguage functions as well as the returned values are identical whether they are called:
  • from WINDEV or
  • from the interface of the external language
To find out the parameters and the return values of a WLanguage function, see the online help or the documentation about WLanguage.
The call to a WLanguage procedure from the external interface is done via CALLWD. For example:
// Open the first window of the program that contains the menu
WINDEV.CALLWD("OPEN,menufc.wdw");

2. Retrieving the events triggered in the WINDEV windows

The input in the WINDEV windows requires to retrieve the events triggered in these windows.
To retrieve the user events (click on a menu, on a button, and so on), you must implement a system based on a loop in your C# program. This loop will remain active as long as the WINDEV window is opened and it will be used to intercept each user action.
To find out the type of action performed by the user, you have the ability to use a character string variable (in WLanguage) named WDKey. This variable will be used in your WLanguage code to signal to the C# program the button that was pressed for example.
Example: C# code
// Open the first window of the program that contains the menu
WINDEV.CALLWD("OPEN,menufc.wdw");
// the program loops until the File Exit option
// is selected
while (bInput)
{
// perform the input of the menu
WINDEV.CALLWD("Screen,Input");
// the status report WDKey is set to *M* when a menu choice
//was selected
string szOption = WINDEV.WDKey();
if (szOption = "*M*")
{
...
}
}
WINDEV.CALLWD("CLOSE");
Code for intercepting the selection of "File..Exit" of the WINDEV "Menu" window:
// cancelation
if (WINDEV.WDKey() == "FE")
{
bInput = false;
}
When the user selects "File..Exit":
  • WDKey will return "*M*".
  • WDString will return the shortcut letters in the order in which the menus are selected. In our example, WDString returns "FE".
Ending the application
To end the use of the external interface, enter the following code lines:
// Terminate...
WINDEV.WDEnd();
Minimum required version
  • Version 9
Comments
Click [Add] to post a comment