FAQ #2574, published on 2002-10-15
WINDEV
Why can a window be opened but the fields not filled in when the
external language interface of WINDEV 7 or more recent is being used?
After opening the window, field management is ensured by a CALLBACK
procedure. Here is an example:

// CALLBACK declaration before opening the window
nWDSetCallbackNext(CallBackFen,0)
nWDExecute("OPEN(\'testpph.wdw\")");

// CALLBACK code
void CallBackFen(DWORD/* dwUserParam*/,LPCTSTR pszCodeAction) {
// pszCodeAction contains the value that the WDKey = "XX" returns
if(strcmp( pszCodeAction,"AA")==0 ){
_// Assign the first element of the index field ADDRESS
_nWDExecute("ADDRESS[1]=\"Poets Way\"");
_// Read the value of the same field
_nWDExecute("ADDRESS[1]");
_// testing
_MessageBox(NULL,pszWDGetReturnValue(),"Value of ADDRESS[1]?",MB_OK);
}; endif
}

Please note: This technique has been used in the program sample VILLE.CPP that has been installed with an interface to the C language.
See also : wd7, language, external