"Version","dTarget","dDone","Benefit","Contribute","Module","en","fr","de","es","it","pt","Internal","dAdded","awAdapt","awRoadMap""2.
31.
0","44228","01-26-25","Enhancement","M.
GillesLajot-Sarthou","FoxInCloud.
js","Nomore'HTTPprotocolerror'messagewhensendingausereventtotheserverwhilethepage(masterform)isunloading.
","Plusdemessage'erreurdeprotocoleHTTP'lorsqu'unévénementutilisateurestenvoyéauserveuralorsquelapage(formulairematre)sedécharge.
01-28-25",,"570",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","01-19-25","Enhancement","M.
GillesLajot-Sarthou","awHTML","Boostrapdate-timepickerfliesoverparentcontainer","LesélecteurdedateetheureBootstrapsurvoleleconteneurparent",,,,,,"01-28-25",,"572",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","01-17-25","Enhancement","M.
GillesLajot-Sarthou","awAJAX","textbox.
InteractiveChange()nolongeroverwritesuser'styping","textbox.
InteractiveChange()neremplacepluslasaisiedel'utilisateur",,,,,,"01-28-25",,"571",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","12-30-24","Fix","Sig.
MicheleBosetti","awHTMLgen","Fixedsyntaxofurl()directiveaccordingtohttps://developer.
mozilla.
org/en-US/docs/Web/CSS/url()","Réglésyntaxedeladirectiveurl()selonhttps://developer.
mozilla.
org/en-US/docs/Web/CSS/url(12-30-24",,"569",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","12-25-24","Supportextension","M.
VincentHelleboid","awCboAutoComp","Addedsupportfordiacriticsinautocompletion","Supportdescaractèresaccentuésdanslarecherchedesuggestions",,,,,,"11-27-24",,"568",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","11-24-24","Fix","M.
VincentHelleboid","awHTMLgen","Bootstrapmode:fixederror""VariableNgmembercan'tbefound""whengeneratinglabelHTML","ModeBootstrap:Correctionerreur""VariableNgmemberintrouvable""lorsdelagénérationduHTMLdeslabels",,,,,,"11-27-24",,"567",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","11-14-24","Supportextension","Sig.
MicheleBosetti","abTxt","SupportforslantedsinglequotesinJavaScriptliterals","SupportdesapostrophesinclinéesdansleslittérauxJavaScript",,,,,,"11-14-24",,"566",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","11-02-24","Enhancement","Sig.
MicheleBosetti","awHTMLawAJAX","Supportfornativedate[-time]pickeronmobiledevices","Supportdusélecteurdedatenatifsurterminauxmobiles",,,,,,"11-14-24",,"565",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","09-04-24","Optimization","M.
GillesLajot-Sarthou","awAppHost,awAJAX","Generateform'sHTML,CSSandJSonlyonceperWebApplicationServerrelease.
Generateonlyifthetargetfilesdon'texistorareolderthantheWebApplicationServerfile(xxx*.
exe).
","GénérerleHTML,CSSetJSdechaqueformulaireseulementunefoisparversiondeserveurd'applicationWeb.
Générerseulementsilesfichiersàgénérersontinexistantsouplusanciensquelefichierduserveur(xxx*.
exe)09-04-24",,"564",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","09-03-24","Enhancement","M.
VincentHelleboid","wFileSaveAs()",".
wFileSaveAs():Added4thparametertoforcetemporaryfile",".
wFileSaveAs():nouveau4èmeparamètreforcelefichierà'temporaire'09-02-24",,"563",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","08-08-24","Enhancement","M.
VincentHelleboid","FoxInCloud.
js","Supportforgettingtextbox.
selStart()insomeeventcode,suchascmd.
click()FLTsample:http://foxincloud.
com/tutotest/bs/sel.
tuto","Supportdetextbox.
selStart()danslecoded'événementd'unautreobjet,parex.
cmd.
click()ExempleFLT:http://foxincloud.
com/tutotest/bs/sel.
tuto",,,,,,"08-08-24",,"562",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","08-07-24","Enhancement",,"aw.
vcx","xxxTxt.
wlAlwaysBlursends.
blur()toserverevenif.
valueisunchanged","xxxTxt.
wlAlwaysBlurenvoie.
blur()auserveurmêmesilavaleurestinchangée",,,,,,"08-08-24",,"556",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","07-28-24","Supportextension","M.
VincentHelleboid","awBCeventFLT","Supportfortreeviewnodesdrag-and-dropFLTsample:http://foxincloud.
com/tutotest/bs/treeView.
tuto","Supportdudrag-and-dropdesnudsdeTreeviewExemplesurleTutorielVivantFoxInCloud:http://foxincloud.
com/tutotest/bs/treeView.
tuto",,,,,,"08-08-24",,"560",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","07-21-24","BehaviorChange","M.
VincentHelleboid","awGrd",".
w*RowChange()nolongercallsthis.
refresh()Ifbehaviorchanges,addthis.
refresh()toyourclassorobjectcode",".
w*RowChange()n'appelleplusthis.
refresh()Sivousconstatezunchangementdecomportement,ajouterthis.
refresh()aucodedevotresous-classeouinstance.
08-08-24",,"559",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","07-13-24","Enhancement","Sig.
MicheleBosetti","awImgGetPict","Supportformultiplefilesupload","Supportdutéléchargementdeplusieursimagesversleserveur",,,,,,"08-08-24",,"558",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","07-08-24","Enhancement","Sig.
MicheleBosetti","FoxInCloud.
js","Bootstrap:scrollingsupportimprovedformultiplechildforms","Bootstrap:défilementamélioréencasd'écransenfantsmultiples",,,,,,"08-08-24",,"561",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","07-02-24","Enhancement",,"awAJAX","IgnoreAJAXrequestsfrommajorsearchenginesbots.
Theserequestsgeneratemeaninglesserrors.
Toignoremoresearchenginebotsrequest,adda'robots.
txt'fileatyoursiteroot.
","IgnorerlesrequêtesAJAXdesrobotsderecherchelespluscourantsCesrequêtesgénèrentdeserreurssansfondement.
Pourignorertouslesmoteursderecherche,ajoutezunfichier'robots.
txt'àlaracinedusite.
05-25-24",,"551",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","06-27-24","Enhancement","Sr.
ArcadioBianco","FLT","AsynchronousreportsampleinFoxInCloudLiveTutorialhttp://foxincloud.
com/tutotest/bs/report.
tuto","ExemplederapportasynchronedansleTutorielVivantFoxInCloudhttp://foxincloud.
com/tutotest/bs/report.
tuto",,,,,,"08-08-24",,"557",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","06-27-24","Enhancement","Sr.
ArcadioBianco","awServer","xxxServer.
lBSnotifyAddaddsthe'BootstrapNotifyJS'and'animateCSS'libraries","xxxServer.
lBSnotifyAddajoutelesbibliohèques'BootstrapNotifyJS'et'animateCSS'08-08-24",,"555",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","06-26-24","Enhancement",,"awAppHost","Betterhandlethe'invalidformspecification'errorsduetonovicehackerstryingtocheatFoxInCloud","Meilleurtraitementdeserreurs'spécificationdeformulaireinvalide'causéespardeshackersnovicesquiessaientdetromperFoxInCloud",,,,,,"06-26-24",,"554",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","06-26-24","Enhancement",,"awServer","Fixederror""theinitialpropertiestablecan'tbefoundorused:'…\_Ini.
dbf'""","Résolutiondel'erreur""latabledespropriétésinitialesestintrouvableouinaccessible:'…\_Ini.
dbf'06-26-24",,"553",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-28-24","Enhancement","M.
VincentHelleboid","awServer","HotFixmodemodificationPleaseBEWAREthatxxxServer.
lHotFixModeREPLACESxxx.
ini!
hotFixMode","ModificationdumodeHotFixATTENTION!
xxxServer.
lHotFixMode=.
T.
REMPLACExxx.
ini!
hotFixMode",,,,,,"05-08-24",,"552",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-15-24","Enhancement","M.
VincentHelleboid","FoxInCloud.
jsFoxInCloud.
css","Bootstrap:roundedcorneronfirst/lastbuttonvisibleinbuttongroup.
.
wuEffect*notcompatible:setto.
F.
atdesigntimeorin.
Init()","Bootstrap:lepremieroudernierboutonvisibled'ungroupedeboutonsalescoinsarrondis.
.
wuEffect*n'estpascompatible;réglerà.
F.
àlaconceptionoudans.
Init(05-15-24",,"548",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-12-24","Enhancement",,"awServer","TestversionindicatorIftestVersionisoninxxxTest|Prod.
ini,standardformpagesdisplay""TestVersion""intheupperleftcorner","IndicateurdeversiontestSidansxxxTest|Prod.
ini'testVersion'estrégléàon,lespagesdeformulairesmatresaffichent'TestVersion'danslecoinsupérieurgauche.
05-12-24",,"547",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-08-24","Enhancement","M.
VincentHelleboid","awServer","HotFixmodeIfxxxServer.
lHotFixMode=.
T.
,whenproductionserverrestartsafteranupdate,restoreprevioususer'sapplicationenvironment:userscontinueworkingseamlessly.
SetxxxServer.
lHotFixMode=.
F.
onlyifthenewversionaltersapplication'senvironment:publicvariables,_screen.
properties,menus,etc.
,and/oryouusetheVFPmenudesignerandhavenotnamedallyourmenupads(inwhichcaseVFPassignsrandomnames)","ModeHotFixSixxxServer.
lHotFixMode=.
T.
,quandleserveurdeproductionredémarreaprèsunemiseàjour,restaurerl'environnementapplicatifprécédentdel'utilisateur:lesutilisateurscontinuentàtravaillersansrupturedecontexte.
RéglerxxxServer.
lHotFixMode=.
F.
seulementsilanouvelleversionmodifiel'environnementapplicatif:variablespubliques,_screen.
properties,menus,etc.
,et/ousivousutilisezleconcepteurdemenuVFPetn'avezpasnommétousvospavésdemenu(auquelcasVFPattribuedesnomsaléatoires)05-08-24",,"546",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-08-24","Optimization",,"awAJAX","Useintheform'spreviousstatetable(old)justbeforeuseractionontheform,re-openitafterwardstocompareformstatebefore/afteruseraction.
Reason:ifaserverchokeswhileprocessingauseraction,andusernolongerwantstowaitandreloadsthepage,anotherserverneedsexclusiveaccesstotheformstatetabletooverwriteit.
","Refermerlatabled'étatantérieurduformulaireavantl'actiondel'utilisateur,larouvrirensuitepourcompareraveclenouvelétatduformulaire.
Raison:aucasoùunserveurs'immobilisependantletraitementd'uneactionutilisateur,sil'utilisateurrechargelapage,unautreserveurrequiertunaccèsexclusifàlatabled'étatduformulairepourlaremplacer.
04-18-24",,"544",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-08-24","Optimization","M.
GillesLajot-Sarthou","awAJAX","Inproductionmode,ifform'sinitialstatetableexistsandismorerecentthanexecutable,donotsaveinitialstateagain.
Thisavoidsconflictualaccessestotheinitialstatetablebetweendifferentservers","Enmodeproduction,silatabled'étatinitialduformulaireexisteetestplusrécentequel'exécutable,nepassauvegarderànouveaul'étatinitialdel'écran.
Ceciévitedesconflitsd'accèsexclusifàlatabled'étatparplusieursserveurs.
04-18-24",,"543",,"1",,"03-02-25","02-16-25","2.
31.
0","44228","05-06-24","Enhancement","Sr.
ArcadioBianco","awServer","xxxProcess.
UserEnvTableGet()downloadsanapp.
Environmentstatetableforanalysisandoptimization.
CopyandadaptxxxTest.
userEnvTableGet.
prgforyourownapplication","xxxProcess.
UserEnvTableGet()téléchargeunetabled'étatdel'environnementapplicatifpouranalyse.
CopiezetadaptezxxxTest.
userEnvTableGet.
prgpourvotreapplication",,,,,,"05-06-24",,"545",,"1",,"03-02-25","02-16-25","2.
30.
0","17-Apr-24","04-05-24","Enhancement","M.
VincentHelleboid","awAppConfigxxxTest|Prod.
ini","HotFixModeNewsettinginxxxTest|Prod.
ini:'HotFixMode';ifsetto'on',afteraserverupdate,previousappenvironmentisrestoredforuser.
Usercontinuesworkingseamlessly.
Useonlyifnewserverversionchangesnothingin:publicvariables,_screenand_vfpcustomproperties,menudefinition.
","Mode'miseàjouràchaud'NouveauréglagedansxxxTest|Prod.
ini:'HotFixMode';sirégléà'on',aprèsunemiseàjourduserver,l'étatantérieurdel'environnementestrestaurépourl'utilisateurquipeutcontinueràtravaillersansheurt.
An'utiliserquesilanouvelleversionnechangerienaux:variablespubliques,propriétésde_screenet_VFP,définitionsdemenu.
04-05-24",,"542",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","01-22-24","Enhancement","M.
VincentHelleboid","awHTML","awOLEIE:loadinitialsrcURLingeneratedHTML","awOLEIE:chargerl'URLsrcinitialàlagénérationdeHTML",,,,,,"01-22-24",,"541",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","01-15-24","Enhancement","Sig.
MicheleBosetti","awAppHost","BetterprotectproductionserverstartupagainstFoxInCloudserverfailure","AméliorerlaprotectiondudémarrageserveurdeproductioncontreuneindisponibilitéduserveurFoxInCloud",,,,,,"01-15-24",,"540",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","11-07-23","Fix","Mr.
PaulElliot","awTxt","awTxt.
backColor_assign()removedThiscodewasremoved:lparameterstBackColorIFVartype(m.
tBackColor)=='N'ANDBetween(m.
tBackColor,0,Rgb(255,255,255))&&sometimes,VFPassignsRGB(255,255,255)*4!
this.
BackColor=m.
tBackColorENDIF","awTxt.
backColor_Assign()suppriméCodesupprimé:lparameterstBackColorIFVartype(m.
tBackColor)=='N'ANDBetween(m.
tBackColor,0,Rgb(255,255,255))&&parfois,VFPassigneRGB(255,255,255)*4!
this.
BackColor=m.
tBackColorENDIF",,,,,,"11-07-23",,"539",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","10-28-23","Fix","M.
VincentHelleboid","awServer,awHTML","page.
EnabledchangesinBootstrapmodefixed","Changementdepage.
EnabledenmodeBootstrapcorrigé10-28-23",,"538",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","09-28-23","Supportextension","Mr.
PaulElliot","awopt,awcmd","Whennocustomcodeimplementedin.
click()ofOptiongroup/Commandgroupmember,execute*group.
click()(asofVFPnativebehavior)","Siaucuncodeapplicatifimplémentédans.
click()d'unmembred'unOptiongroupouCommandgroup,exécuter*group.
click()(seloncomportementnatifdeVFP)08-21-23",,"537",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","09-28-23","Fix","Sr.
ArcadioBianco","FAAxxx.
js","Fixunterminatedcommentissue","Commentaireinachevérésolu",,,,,,"09-28-23",,"536",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","08-21-23","Enhancement","M.
VincentHelleboid","awServer.
prg","InWebmode,Label.
Captionsupportsmorethan254chars(VFPlimitation)","EnmodeWeb,Label.
Captionsupporteplusde254caractères(limitationdeVFP)08-21-23",,"535",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","07-04-23","Fix","M.
VincentHelleboid","awHTML.
prg","Bootstrapdatetimepicker:showtimepickerwhen.
Valueisoftype'T'demo:http://foxincloud.
com/tutotest/bs/event.
tuto","Bootstrapdatetimepicker:montrerlasélectiond'heurequandvartype(.
value)=='T'démo:http://foxincloud.
com/tutotest/bs/event.
tuto",,,,,,"07-04-23",,"534",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","07-04-23","Fix","Sig.
MicheleBosetti","awHTML.
prg","grid:fix'Z'formatsupport","grille:réparelesupportduformat'Z'07-04-23",,"533",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","06-19-23","Fix","Mr.
PaulElliot","awHTML.
prgawGrd.
dbf","Inclassicmode,gridre-positioncorrectlywhenresizingformorparentcontainer","Enmodeclassique,lesgrillessere-positionnentcorrectementquandleformulaireouleparentchangededimensions",,,,,,"06-19-23",,"532",,"0",,"05-02-24","04-16-24","2.
30.
0","43937","06-17-23","Enhancement","M.
VincentHelleboid","abDev.
prg","uValue():supportdatewithyearrightClickonformsurface","SupportdesDEFINEMENU|POPUPmutiplessansRELEASEpréalableDémo:http://foxincloud.
com/tutotest/bs/RowSourceType.
tuto>Clickdroitsurlasurfaceduformulaire",,,,,,"03-21-23",,"512",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-21-23","Fix","M.
VincentHelleboid","awMenu","SupportDEACTIVATEPOPUPinBootstrapmode","SupportdeDEACTIVATEPOPUPenmodeBootstrap",,,,,,"03-09-23",,"509",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-14-23","Fix","M.
VincentHelleboid","FAA(awAdapter)","AddedmissingENDPROCwhenadaptingeventmethods(requiredbyfoxBin2Prg)","AjoutéENDPROCmanquantàl'adaptationdesméthodesd'événement(requisparfoxBin2Prg)03-14-23",,"511",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-14-23","Fix","M.
VincentHelleboid","aw.
vcx!
awCmd","Implement.
click()bydefaultwhencommandButtonisamemberofacommandGroup,totriggercommandGroup.
InteractiveChange()","Toujoursimplémenter.
Click()quandleboutondecommandeestmembred'uncommandGrouppourdéclencherson.
InteractiveChange(03-14-23",,"510",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-07-23","Enhancement",,"awScripts","Updatedbower\*.
*tothelatestversion","bower\*.
*misàjouràladernièreversion",,,,,,"03-07-23",,"508",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-07-23","Enhancement",,"atBSicon","IconsizesetbydefaultaccordingtooriginalimagesizeCleariconbutton","Tailledel'icnerégléepardéfautselonlatailledel'imaged'origineBoutonpoureffacerl'icne",,,,,,"03-07-23",,"507",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-07-23","Enhancement",,"FAA(awAdapter)","Shortcut:F4ignores(orrecall)currentadaptation","Raccourci:F4ignore(ourappelle)l'adaptationcourante",,,,,,"03-07-23",,"506",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-07-23","Fix",,"FAA(awAdapter)abOOP.
prg!
aClassesClear()","FixedC00005error:CLEARparentCLASSbeforechildclass","RésolutionerreurC00005:CLEARlesCLASSesparentavantlesclassesenfant",,,,,,"03-07-23",,"505",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-07-23","Fix",,"FAA(awAdapter)","Statisticsbasedonallfilesinsteadofonlythosewithadaptations","Lesstatistiquessontbaséessurtouslesfichiersaulieudeseulementceuxconcernésparlesadaptations",,,,,,"03-07-23",,"504",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-02-23","Enhancement","M.
VincentHelleboid","awImgawHTML","awImg.
wBSiconNoprevents.
*PicturefrombeingaddedtoawBSicontable","awImg.
wBSiconNoempêchel'ajoutde.
*PictureàlatabledesicnesBootstrapawBSicon",,,,,,"03-02-23",,"503",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","03-02-23","Fix","M.
VincentHelleboid","awImgGetFileawCntGetFile","Fileupload:supportfordraganddropfromfileexplorer-IfawImgGetFileisamemberofawCntGetFile,dropzoneistheawCntGetFilesurface-elsefilecanbedroppedanywhereinthedocument","Téléchargementdefichier:supportduglisser-déplacerdepuisl'explorateurdefichier-siawImgGetFileestmembredeawCntGetFile,lazonededéptestlasurfacedeawCntGetFile-sinonlefichierpeutêtredéposépartoutdansledocument",,,,,,"03-02-23",,"502",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","02-14-23","Fix","Mr.
PaulElliot","awHTML","Properlyremovedeprecatedcolumnswhengrid.
columnCountdecreasesWorkaroundaVFPbug:whendecreasing.
columnCount,VFPdoesnotproperlydiscardtheexcesscolumns;awHTML.
grdRestore()now.
removeObject()these'ghost'columns.
Demo:http://foxincloud.
com/tutotest/bs/dynamicGrid.
tuto","terproprementlescolonnesexcédentairesquandgrid.
ColumnCountdiminueContournementd'unbugVFP:lorsque.
columnCountdiminue,VFPnesupprimepasproprementlescolonnesexcédentaires;désormaisawHTML.
grdRestore().
removeObject()cescolonnes'fantmes'.
Démo:http://foxincloud.
com/tutotest/bs/dynamicGrid.
tuto",,,,,,"01-30-23",,"501",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","02-13-23","Enhancement","Mr.
PaulElliot","FoxInCloudLiveTutorial","DynamicgridsampleGridhas0columnatform.
Init(),usecandynamicallychoosethe.
columncountand.
columns.
controlSourceissue:https://support.
west-wind.
com/Thread5E507FLA7.
wwtdemo:http://foxincloud.
com/tutotest/bs/dynamicGrid.
tuto","ExempledegrilledynamiqueFormulaireavecunegrillevideàform.
Init(),l'utiliateurpeutchoisirinteractivement.
columnCountet.
columns.
controlSourceénoncé:https://support.
west-wind.
com/Thread5E507FLA7.
wwtdémo:http://foxincloud.
com/tutotest/bs/dynamicGrid.
tuto",,,,,,"01-30-23",,"498",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","02-01-23","Enhancement","Mr.
PaulElliot","awPublic.
prg","wFormMaster()supportsformclasses","wFormMaster()supportelesclassesdeformulaires",,,,,,"01-30-23",,"499",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","01-31-23","Enhancement","Mr.
PaulElliot","acTxt.
prg!
acRegExp","form.
Init():supportcommentsbefore[L]parametersinstruction","form.
Init():supporterlescommentairesavantl'instruction[L]parameters",,,,,,"01-30-23",,"495",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","01-31-23","Enhancement","Mr.
PaulElliot","abOOP.
prg","XMLofObject()andpublicobjectsbasedonaFoxInCloudfclass:savecustompropertiesautomatically","XMLofObject()etobjetspublicsbaséssuruneclasseFoxInCloud:sauverlespropriétésnon-nativesautomatiquement",,,,,,"01-30-23",,"496",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","01-30-23","EnhancementBehaviorchange","Mr.
PaulElliot","awServer.
prg","wNavigate():donotoverridepreviousredirection.
Makesuretocalltheindendedredirectionfirst;eg.
thisForm.
wFormMaster(.
.
.
)thisForm.
release()","wNavigate():nepasécraseruneredirectionantérieure.
Assurez-vousd'appelerenpremierlaredirectioneffective;ex.
thisForm.
wFormMaster(.
.
.
)thisForm.
release(01-30-23",,"500",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","06-06-23","Enhancement","Mr.
PaulElliot","xxx.
js","Newoption'posDimEffect'controlsanimationsuponpositionand/ordimensionchanges","Nouvelleoption'posDimEffect'quicontrlel'animationdeschangementsdepositionet/oudimensions",,,,,,"06-06-23",,"530",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","05-23-23","Fix","Mr.
PaulElliot","awGrid","grid.
scrollBarsnolongeradjuststothenumberofrowsandcolsinthegrid","Leréglagegrid.
scrollBarsnechangeplusautomatiquementselonlenombredelignesetcolonnesdanslagrille.
05-23-23",,"529",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","05-22-23","Enhancement","M.
VincentHelleboid","awMenu","Boostrapmenu:supportlineseparators","MenuBootstrap:supportdeslignesséparatrices",,,,,,"05-22-23",,"528",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","05-16-23","Enhancement",,"awHTML","awBSicon:replaceimageaddressonlyifithaschanged.
PreviouslyawHTMLgen.
awBSiconUpdate()alwaysupdatedawBSicon.
addr,henceanobeseawBSicon.
fptReminder:packawBSicon.
fpt,itshouldnolongergetbloated:useawBSiconexclusivepackmemo","awBSicon:neremplacerl'adressedel'imagequesielleachangéAuparavantawHTMLgen.
awBSiconUpdate()remplacaitsystématiquementl'adressedel'image,d'oùunawBSicon.
fptobèse.
PensezàpackerawBSicon.
fpt,ilnedevraitplusgrossirinutilement:useawBSiconexclusivepackmemo",,,,,,"05-16-23",,"527",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","05-15-23","Enhancement","M.
VincentHelleboid","awHTML","BootstrapHTMLgenerationtimereducedbyabout25%","TempsdegénérationHTMLBootstrapréduitd'environ25%05-15-23",,"526",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","05-15-23","Enhancement","M.
VincentHelleboid","awServer","Toimproveprivacy,adduser'ssessionIDtostemoffilesjustgeneratedfordownload","Pourunemeilleureconfidentialité,ajoutel'identifiantdesessiondel'utilisateuràlaracinedesfichiersjustegénéréspourtéléchargement",,,,,,"05-15-23",,"525",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","04-25-23","Optimization",,"awMenuabGA","wMenu():responsetimeimprovedbyabout15%","wMenu():tempsderéponseréduitd'environ15%04-25-23",,"524",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","04-19-23","Supportextension","M.
VincentHelleboid","awHTMLFoxInCloud.
js","Supportfordrag&dropSupportforthemainOLEdraganddropevents,OLEstartDragandOLEdragOverbeingsupportedonclientonly.
Datasetinbrowser'sevent.
dataTransferaresentautomaticallytoà.
OLEdragDrop()onserverasaVFPdataObject.
Onlydataoftype'text'aresupported.
Demoandcodesample:http://foxincloud.
com/tutotest/bs/dragdrop.
tuto","Supportdudrag&dropSupportdesprincipalesméthodesd'événementOLEdrag&drop,OLEstartDragetOLEdragOverétantsupportéessurleclientseulement.
Lesdonnéesplacéesdansevent.
dataTransferdunavigateursontenvoyéesà.
OLEdragDrop()surleserveurentantque'dataObject'VFP.
Seuleslesdonnéesdetype'texte'sontsupportées.
Démoetexempledecode:http://foxincloud.
com/tutotest/bs/dragdrop.
tuto",,,,,,"04-19-23",,"523",,"1",,"07-02-23","06-16-23","2.
29.
0","43622","04-12-23","Supportextension","M.
VincentHelleboid","awHTMLawCboAutoComp","Auto-CompletecomboboxDropaninstanceofaw.
vcx!
awCboAutoComponyourformandsetits.
rowSource;whenusertypescharactersinthetextportion,thematchingentriesin(.
rowSource)popinthedroppeddownlist.
1.
Supports(.
rowSourceType=2&&Alias)only2.
(.
rowSource)isalocaltable,anon-parameterizedvieworanimmutablecursor(contentsdoesnotchangeacrossuseractions);toseekthemtchingrecords,FoxInCloudtakesthealiasas-is,withoutrestoringit.
3.
Ifdataarestrings(mostlikely),(.
rowSource)musthaveacandidateindexbuiltonthesearchexpressionwithcollate""general"".
4.
bydefaultsearchoccursonthebeginningoftext;apropertysetssearchinthewholetextusingthe'atcc()'function.
Asthisfunctionisnotrushmoreoptimized,thissearchmodeisslower.
SupportedinBootstrapmodeonlyusinghttps://github.
com/bassjobsen/Bootstrap-3-Typeaheaddemo:http://foxincloud.
com/tutotest/bs/autoComp.
tuto","Comboboxàauto-completionDéposezuneinstancedeaw.
vcx!
awCboAutoCompetréglezson.
rowSource;quandl'utilisateursaisitunechanedanslazonedetexte,lesentréescorrespondantesde(.
rowSource)s'affichentdanslaliste.
1.
Seul(.
rowSourceType=2&&Alias)estsupporte;2.
(.
rowSource)estunetablelocale,unevuenonparametreeouuncurseurinvariable(nechangepasdecontenuselonlesactionsutilisateur,ajoutea.
wcAliasSaveNot);pourfiltrerlaliste,FoxInCloudprendl'aliastelquel,sansrestaurersonetat;3.
silesdonneesafiltrersonttextuelles,(.
rowSource)doitavoirunindexcandidat(unique)construitsurl'expressiondefiltrageavecl'ordredecollation""general"":indexon.
.
.
candidatecollate""general""4.
pardefautlarechercheportesurledebutdutexte;uneproprietepermetlarecherchedanstoutletexte(fonctionAtcc()).
Cemodederecherchen'étantpasoptimise,ilestaussipluslent.
Supportepourl'instantenmodeBootstrapavechttps://github.
com/bassjobsen/Bootstrap-3-Typeaheaddémo:http://foxincloud.
com/tutotest/bs/autoComp.
tuto",,,,,,"04-12-23",,"522",,"1",,"07-02-23","06-16-23","2.
28.
0","12-02-22","11-22-22","Enhancement","M.
VincentHelleboid","awServer","PropertyxxxServer.
wUserSharableIndicatesthatseveraluserscanlogintotheapplicationusingthesameID[.
wUserLogin(ID)]","PropriétéxxxServer.
wUserSharableIndiquequeplusieursutilisateurspeuventaccéderàl'applicationaveclemêmeidentifiant[.
wUserLogin(ID)11-22-22",,"494",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","10-18-22","Enhancement",,"Samples","Improvedandupdatedhome(1)+""Tools\AB\AW\Samples\Tastrade\Adapted""tobemorereliable;allgridshaveanadapted.
memberClassandgridcolumnshave.
headerClass","home(1)+""Tools\AB\AW\Samples\Tastrade\Adapted""amélioré,misàjouretfiabilisé;touteslesgrillesontdes.
memberClassetleurscolonnesdes.
headerClassadaptés",,,,,,"10-18-22",,"493",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","10-18-22","Fix",,"aw.
vcx!
awFrm",".
wFormShow()returnsmodalchildform's(.
wModalChoiceProp)evenwithoutacall-backmethoddefined.
",".
wFormShow()retrounelavaleurdelapropriété(.
wModalChoiceProp)d'unécranenfantmodalmêmesilaméthodecall-backn'estpasdéfinie.
10-18-22",,"492",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","10-11-22","Fix","Sr.
ArcadioBianco","awServer.
prg","Pageframetabsnolongercyclewhenclickingthemfast","Lespagesdepageframenetournentplusenrondquandonlescliquerapidement",,,,,,"10-11-22",,"491",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-28-22","Enhancement","Sr.
ArcadioBianco,M.
VincentHelleboid","awServerawHTMLFoxInCloud.
js","TabbingbetweencontrolsandformsmimicstheVFPbehavior-whenformopens,focusgoestothecontrolwithlowesttabindex(inclassicmodeonly,Bootstrapseemstosomehowcontradictthisbehavior)-hittingtheTaborEnterkeymovesfocustothenextcontrolintaborder,andcirclesaroundthevisiblecontrolsintheform(doneonclientside)-onserverside,if.
Valid()doesnotreturn.
T.
or1,serversendsafocusordertowhatevercontrolsthat.
Valid()wantsfocused-whenclosingachildformbyanymean(button,crossorescapekey),inclassicandBootstrapmode,focusreturnstothecontrolfromwhichformopened.
iftabbingoutofacontrolopensadialog(eg.
alookupdialog),focusmovestonextcontrolonlyafterdialogiscloseddemo:http://foxincloud.
com/tutotest/Event.
tutoTHANKSFORTESTINGCAUTIOUSLYonyourapplicationand,incaseofanissue,postitWITHAVIDEOSHOTonthesupportforum","NavigationentrecontrlesdesformulairesprocheducomportementdeVFP-àl'ouvertureduformulaire,l'attentionestsurlecontrledeplusbastabindex(enmodeclassiqueseulement,Bootstrapsemblecontrariercecomportement)-lestouchesTabetEnterdéplacentl'attentionsurlecontrlesuivantdansl'ordredestabindex(faitsurleclient)-ctéserveur,si.
Valid()neretournepas.
T.
ou1,leserveurretourneunordrepourfocalisersurlecontrlechoisipar.
Valid()-àlafermetured'unformulaireenfantpartoutmoyen(bouton,croixoutoucheescape),enmodeclassiqueouBootstrap,l'attentionrevientaucontrleàl'originedesonouverture.
silasortied'uncontrledéclenchel'ouvertured'undialogue(parex.
listedesélection),l'attentionrestenepasseaucontrlesuivantqu'àlafermetureduditformulaireDémo:http://foxincloud.
com/tutotest/Event.
tutoMERCIDETESTERATTENTIVEMENTsurvotreapplicationetposterlesproblèmeséventuelssurleforumdesupportavecUNEVIDEOducomportement",,,,,,"09-12-22",,"484",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-27-22","Fix","Sig.
MicheleBosetti","FoxInCloud.
css","Scrollingingridswhenswipingontouchdevices","Défilementdesgrillesenglissantledoigtsurlesterminauxtactiles",,,,,,"09-27-22",,"490",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-22-22","Enhancement",,"awServer.
prgFWAD","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx):CASandrequesthistorygraphsupdateautomaticallywhenchangingscopeDemo:http://foxincloud.
com/tutotest/bs/foxincloud-status.
tutotab=reqHistory","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx):lesgraphiqueshistoriquesdesCASetdesrequêtessemettentàjourauchangementde'scope'(étendue)Démo:http://foxincloud.
com/tutotest/bs/foxincloud-status.
tutotab=reqHistory",,,,,,"09-22-22",,"489",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-21-22","Enhancement","M.
GillesLajot-Sarthou","awServer.
prgFWAD","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx):historyofnumberofuserrequestsonapplicationDemo:http://foxincloud.
com/tutotest/bs/foxincloud-status.
tutotab=reqHistory","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx):historiquesdesactionsutilisateursurl'applicationDémo:http://foxincloud.
com/tutotest/bs/foxincloud-status.
tutotab=reqHistory",,,,,,"09-20-22",,"488",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-19-22","Fix","Sr.
ArcadioBianco","awServer","SupportdeletionofseveralrecordsinviewsorcursorAdaptersintablebufferingmodedemo:.
openhttp://foxincloud.
com/tutotest/bs/dataUpdate.
tutoin2browsers.
navigatesdownthegridtothetestcustomers(""zCompany.
.
.
"").
deletedifferentrecordsinbothbrowser.
checkdeletedrecordsarepersistentacrossthe2browsers","SuppressiondeplusieursenregistrementsdevuesoucursorAdaptertamponnéenmodeTabledémonstration:.
ouvrezhttp://foxincloud.
com/tutotest/bs/dataUpdate.
tutodans2navigateurs.
allezenfindelalisteoùsetrouventlesclientsdetest(""zCompany.
.
.
"").
effacezdifférentessociétésdanschaquenavigateur.
vérifiezquelesenregistrementssuppriméspersistententreles2navigateurs",,,,,,"09-19-22",,"487",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-14-22","Fix","Sr.
ArcadioBianco","awServer","Restorestateofagrid.
recordSourceCADorcursorinaprivatedatasessionformbeingopenedbyamemberofaformhavinggridmember(s)withCADorcursoras.
recordSource.
Test:-openin2browsers:http://foxincloud.
com/tutotest/bs/report.
tuto(thecustomersgridhadaCADas.
recordSource)-Click'update'toopenthedataUpdateform;bydefaultthegridalsohasaCADas.
recordSource-usethe2browsersalternatively","Restaurationdel'étatd'unCADoud'uncurseurquiestgrid.
recordSourcedansunformulaireavecsessiondedonnéesprivéeàsonouverturedepuisunformulairecontenantaumoinsunegrilleavecunCADoucurseurcomme.
recordSource.
Test:-ouvrirdans2navigateurs:http://foxincloud.
com/tutotest/bs/report.
tuto(lalistedeclientsaunCADcomme.
recordSource)-Cliquermodifierpourouvrirl'écrandemodificationdeclients;lalistedeclientsaaussiunCADcomme.
recordSource-utilisezchaquenavigateuralternativement",,,,,,"09-14-22",,"486",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-13-22","Enhancement","M.
GillesLajot-Sarthou","awServer","Moredetailsincaseoferror""Tablecouldnotbeopenedunderalias.
.
.
""","Plusdedétailsencasd'erreur""Latablenepeutêtreouvertesousl'alias.
09-13-22",,"485",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-12-22","Enhancement","Sig.
MicheleBosetti","awAppHost","Incaseofstartuperror,addnameofApplicationAdmintonotificationemail","Encasd'erreuraudémarrage,ajouterlenomdel'administrateurdel'applicationaucourrieldenotification",,,,,,"09-12-22",,"483",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-07-22","EnhancementBehaviorChange",,"FAA(awAdapter)awSupportaw.
vcxFoxInCloud.
js","Support[textbox|editbox|spinner].
InteractiveChange()onclientsideusingHTML5DOMeventoninput().
-return.
T.
(behaviorchange):executeonservertwice(insteadofoncepreviously),atfirstandlast.
Valuemodification(notuponintermediatechanges)-return.
F.
:executeonserveratlast.
Valuemodification,justbefore.
Valid();usethisoptiontohavethesamebehaviouras(return.
T.
)previously-return:executeonclientatEACH.
Valuemodification","Supportde[textbox|editbox|spinner].
InteractiveChange()surleclientaumoyendel'événementDOMHTML5oninput().
-return.
T.
(nouveaucomportement):exécuter2foissurleserveur:aupremieretdernierchangementde.
Value(rienauxchangementsintermédiaires)-return.
F.
:exécuterunefoissurleserveur,justeavant.
Valid();ceréglagealemêmecomportementque(return.
T.
)précédemment.
-return:exécuterl'événementsurleclientàchaquechangementde.
Value"416",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","09-07-22","Enhancement",,"FoxInCloud.
jsxxx.
js","NewpropertyFoxInCloud.
inputAlwaysBlur[defaultvaluefalseforbackcompat]Ifsettotrue,input(textboxandeditbox)send.
LostFocus()and/or.
Valid()eventtoserverevenif.
valuehasnotchangedsince.
focus()","NouvellepropriétéFoxInCloud.
inputAlwaysBlur[valeurpardéfautfalsepourcompatibilitéascendante]Sirégléàtruedansxxx.
js,lesinput(textboxeteditbox)envoientlesévénements.
LostFocus()et/ou.
Valid()auserveurmêmesileur.
Valueestinchangéedepuis.
focus(09-07-22",,"482",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","08-30-22","Enhancement","Sr.
AlejandroSosa","FAA(awAdapter)","Finetunetheeventswheredodefault()isneeded","Réglerplusfinementlesméthodesd'événementnécessitantundodefault(479",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","08-30-22","Fix","M.
VincentHelleboid","awHTML","Tabindexofobjectslocatedinnestedcontainersseehttps://support.
west-wind.
com/Thread59R02XOHH.
wwt","Tabindexdesobjetsdansdesconteneursimbriquésvoirhttps://support.
west-wind.
com/Thread59R02XOHH.
wwt"478",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","08-30-22","Fix","M.
GillesLajot-Sarthou","FoxInCloud.
js","CloseHTMLchildformif.
QueryUnload()returns.
T.
","FermerleformulaireHTMLenfantsison.
QueryUnload()retourne.
T.
480",,"0",,"01-02-23","12-16-22""2.
28.
0","43435","08-30-22","Supportextension","M.
GillesLajot-Sarthou","awHTML","Supportforform.
TitleBar=0demo:http://foxincloud.
com/tutoTest>eventlog","Supportdeform.
TitleBar=0démo:http://foxincloud.
com/tutoTest>historiquedesévénements"481",,"0",,"01-02-23","12-16-22""2.
27.
0","08-02-22","TBA","Enhancement",,"awHTML","Form.
resize()supportinclassicmode:useCSSrelativemeasurements(%);PostponeduntilallbrowserssupportCSS3directive{width|height:available;}","Supportdeform.
resize()enmodeclassique:support100%CSSenutilisantlesmesuresrelatives(%)ReportéenattendantquetouslesnavigateurssupportentladirectiveCSS3{width|height:available;03-28-22",,"474",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","07-12-22","Learning","MrTuviaVinitsky","LiveTutorialBlog","SurfaceEventstutorialLearnhowtoimplementfastsurfaceeventssuchas.
MouseEnter(),.
MouseMove(),.
MouseLeave()inJavaScriptand/orCSSdemo:http://foxincloud.
com/tutotest/bs/eventClient.
tutoblog:http://foxincloud.
com/blog/2018/07/11/adapting-surface-events.
html","DémonstrationdesévénementsdesurfaceApprenezcommentimplémenterlesévénementsdesurfacerapidescomme.
MouseEnter(),.
MouseMove(),.
MouseLeave()enJavaScriptet/ouCSSdémo:http://foxincloud.
com/tutotest/bs/eventClient.
tutoblog:http://foxincloud.
com/blog/2018/07/11/adapting-surface-events.
html",,,,,,"05-15-22",,"477",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","03-30-22","Deprecation",,"FoxInCloud.
js","LastdependenciesonPrototype.
jsremovedYoucannowrunyourserverwith:xxxServer[Test|Prod].
lPrototypeAdd=.
F.
Priortomakingthischange,makesuretoreadandfollowthedocumentationin:modifycommandhome(1)+'tools\ab\aw\app\progs\xxxServer.
prg'","DernièresdépendancesàPrototype.
jssuppriméesVouspouvezmaintenantréglervotreserveuravec:xxxServer[Test|Prod].
lPrototypeAdd=.
F.
Avantd'effectuercechangement,assurez-vousdebienlireetappliquerladocumentationdans:modifycommandhome(1)+'tools\ab\aw\app\progs\xxxServer.
prg'03-28-22",,"457",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","08-01-22","Enhancement","M.
VincentHelleboid","abDevawHTML","Inproductionmode,removeinlinecommentsfromformgeneratedJavaScript(form_scx.
js)","Enmodeproduction,terlescommentairesdeligneduJavaScriptgénérépourl'écran(form_scx.
js)08-01-22",,"476",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","07-18-22","Fix",,"aw.
vcx!
awCntGrdPage","""object.
xxx""typespecificationnotsupported","""object.
xxx""spécificationdetypenonsupportée",,,,,,"07-18-22",,"475",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","07-05-22","Enhancement",,"aw.
vcx!
awCntGrdPage","PagedGridContainer:updateablegridandfasterrefreshset.
wlCntGrcCSpageCursor=.
F.
toexecutethenewlogic:grid.
columns.
controlSourcearenolongerredirectedonthepagedcursor","Conteneurpourgrillepaginée:supportelamiseàjourdesdonnéesdanslagrilleetplusrapideaurafrachissementPourbénéficierdelanouvellelogique,réglez.
wlCntGrcCSpageCursor=.
F.
;les.
controlSourcedescolonnesdelagrillenesontplusredirigésverslecurseurdepage.
03-28-22",,"460",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","07-04-22","Fix","Sig.
MicheleBosetti","awServer.
prg","SupportcharactersUTF-8encodedonmorethan2byteseg.
Supporterlescaractèresencodéssurplusde2octetsenUTF-8ex.
07-04-22",,"473",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","06-22-22","Enhancement",,"awServer.
prgaw.
vcx!
awCADlogError","Requestlogformloadsquickerwc.
wcFoxInCloud~wFrmLogError","Leformulaired'analysedesrequêteschargeplusrapidementwc.
wcFoxInCloud~wFrmLogError",,,,,,"06-22-22",,"472",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","06-22-22","Enhancement",,"awServer.
prgxxxTest.
RequestLogGet.
prg","2newparameterstocontrolthescopeofrequeststoD/LtdReqMin:minimumDate[-time]ofrequeststoD/LtdReqMax:maximumDate[-time]ofrequeststoD/L","2nouveauparamètrespourcontrlerl'étenduedesrequêtesàtélécharger:tdReqMin:Date[-time]minidesrequêtesàtéléchargertdReqMax:Date[-time]maxidesrequêtesàtélécharger",,,,,,"06-22-22",,"471",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","06-20-22","Fix",,"awTxt.
prg","cSrceCodeOfObject():fixedpropertieslongerthan255chars","cSrceCodeOfObject():rendudespropriétésavecplusde255caractères",,,,,,"06-20-22",,"470",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","06-20-22","Fix",,"awHTML.
prg","Fix""gridwasemptied""errorWorkaroundCursorToXML()unexpected,'random'errorswhere""""isreturned","Erreur""Lagrilleaétévidée.
.
.
""Contournementd'uneerreurinattenduedeCursorToXML()quiretourne""05-16-22",,"465",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","06-08-22","Behaviorchange",,"awHTML","[Bootstrap]columnscontainingasinglecontrolspreadacrossthewholerow.
Ifyouhavesub-classedtheawHTMLgenclass,youmayneedtorevisexxxHTMLgen.
getHTML_BS_ColSpec_User()","[Bootstrap]lescolonnescontenantunseulcontrleoccupentlapleinelargeurdelaligneSivousavezsous-classéawHTMLgen,vérifiezxxxHTMLgen.
getHTML_BS_ColSpec_User(06-08-22",,"469",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-25-22","Fix",,"awServer.
prg","DiacriticsinlogreportsMakesuretodoatPJcompileatleastonceonaFoxInCloudproject","CaractèresaccentuésdanslesrapportsdelogExécutezdoatPJcompileaumoinsunefoissurunprojetFoxInCloud",,,,,,"05-25-22",,"467",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-25-22","Fix","M.
VincentHelleboid","awServer.
prg","Uploadfilewithdiacriticsinname","Envoiauserveurdefichierdontlenomcomportedescaractèresaccentués.
05-25-22",,"466",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-16-22","Fix","Sig.
MicheleBosetti","awServer.
prg","Openingaformwithagridfromamenu","Ouvertured'unformulairecomportantunegrilleàpartird'unmenu",,,,,,"12-06-21",,"468",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-16-22","Enhancement","Sig.
MicheleBosetti","awServer.
prg","Supportdeleted()onnon-bufferedcursors","Supporterdeleted()surlescurseursnontamponnés",,,,,,"12-06-21",,"406",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-15-22","Deprecation",,"FoxInCloud.
js","RemovedeprecatedSWFupload.
js","SupprimerSWFupload.
js(périmé03-30-22",,"458",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-15-22","Learning",,"LiveTutorial","Renderfileuploadimageusingabuttondemo:http://foxincloud.
com/tutotest/bs/imgUpload.
tuto","Rendrel'imaged'uploaddefichieravecunboutondémo:http://foxincloud.
com/tutotest/bs/imgUpload.
tuto",,,,,,"05-15-22",,"464",,"1",,"09-02-22","08-16-22""2.
27.
0","43313","05-15-22","Enhancement",,"awHTML","IssueasinglelogrecordforarequestwithAJAXerror(s)","CréerunseulenregistrementdelogpourunerequêteavecerreurAJAX",,,,,,"04-20-22",,"463",,"1",,"09-02-22","08-16-22""2.
26.
2","04-16-22","04-12-22","Fix","M.
VincentHelleboid","awHTML.
prgFoxInCloud.
js","form.
activate()triggersinWebmodeonchildforms,withorwithoutJavaScriptand/orserverrequest","form.
activate()sedéclencheenmodeWebsurlesformulairesenfants,avecousansJavaScriptet/ouenvoiauserveur.
04-12-22",,"462",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","04-05-22","Fix",,"awHTML.
prg","CSScustomAdd():mispelledCSSrulefixed","CSScustomAdd():règleCSSmalécritecorrigée",,,,,,"04-05-22",,"461",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","04-04-22","Enhancement",,"awMenu.
prg","Boostrapmenu:supportreplacingpicturebyafonticonsuchas'fontawesome'demo:http://foxincloud.
com/tutotest/bs/>'Sourcecode'menu","MenuBootstrap:supporterlespolicesd'icnesenremplacementdel'imagedelaclausepicturedémonstration:http://foxincloud.
com/tutotest/bs/>menu'Codesource'03-16-22",,"447",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-30-22","Fix",,"FoxInCloud.
js","Fixedcolumnwidthingrid.
column.
resize()eventwebmodehandler","Régléuneerreurdedimensionaveclesévénementsgrid.
column.
resize()enmodeWeb",,,,,,"03-30-22",,"459",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-23-22","EnhancementBehaviorChange",,"awServer","FirsttimeServersavesproperties,itidentifiescustomproperties(addedatdesigntimeorby*.
Init()/Form.
Load())inallobjectsandparentclassesandaddsto.
wcPropSave.
Atdesigntime,youonlyneedtoadd:-in.
wcPropSave:nativepropertiesthatcodechanges(suchas.
Visible,.
Enabled,etc.
)-in.
wcPropsSaveNot:custompropertiesthatyoudon'twant/needtosaveastheyremainunchangedacrossusers(eg.
heavyobjects)","Lapremièrefoisqu'ilsauvelespropriétés,leserveuridentifielespropriétés'custom'(ajoutéesaudesignoupar*.
Init()/Form.
Load())danschaqueobjetetsesclassesparent,etlesajouteà.
wcPropSave.
Alaconception,vousdevezjusteajouter:-dans.
wcPropSave:lespropriétésnativesquelecodemodifie(comme.
Visible,.
Enabled,etc.
)-dans.
wcPropSaveNot:lespropriétéscustomquevousnedevezouvoulezpassauvegardercarleurvaleurestindépendantedel'utilisateur(parex.
desobjetslourds)03-23-22",,"455",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-22-22","Fix","M.
GillesLajot-Sarthou","awAppEnvUser","Fixederror""Menu'xyz'hasnotbeendefinedwithDEFINEPOPUP""","Résolutionduproblème""Lemenu'xxx'n'apasétédéfiniavecDEFINEPOPUP"02-21-22",,"445",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-21-22","Fix","Sig.
MicheleBosetti","awHTML","FixedanissuewhencommandButtoninagridcolumnhasanon-reachable.
Picture","Solutiond'unproblèmearrivantaveclesboutonsdecommanddansdescolonnesdegrilleavecune.
Pictureintrouvable",,,,,,"03-21-22",,"454",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-21-22","Learning",,"Samples","Improvetheresponsive(Bootstrap)versionofSamples\FIC\FICdemoBootstrapuserspleasemakesuretheinlineformrenderingisOK","AméliorerlaVersionadaptative(Bootstrap)deSamples\FIC\FICdemoUtilisateursdeBootstrap,veuillezvérifierlerendudesformulairesenligne",,,,,,"02-02-22",,"439",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-17-22","Fix",,"FAA(awAdapter)","InFoxInCloudAdaptationAssistant,step3-Publish,InstallFiles,Errormessagedoesdisplaywhenafilecopyfails.
","Assistantd'Adaptation(FAA),étape3-Publier,créationdesprogrammesetdusite,lemessaged'erreurs'affichesilacopiedesfichierséchoue",,,,,,"03-17-22",,"453",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-17-22","Fix",,"FAA(awAdapter)","GridproperlyrenderedwhenstartingapplicationfromFoxInCloudAdaptationAssistant,attheendofstep3-Publish","Lesgrillessontrenduescorrectementendémarrantl'applicationaprèsl'étape3-Publierdel'Assistantd'Adaptation(FAA)03-17-22",,"452",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-16-22","Fix","M.
GillesLajot-Sarthou","FAA(awAdapter)","Nestedparenthesesinfunctionormethodparametersarenowsupported","Parenthèsesimbriquéessupportéesdanslesparamètresdesappelsdefonctionsetméthodes",,,,,,"03-16-22",,"449",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-16-22","Fix","M.
GillesLajot-Sarthou","FAA(awAdapter)","xxxTest.
pjx.
prgbetter(re)generatethewebprojects,withlessfilesmissing","xxxTest.
pjx.
prg(ré)génèremieuxlesprojetsWeb,avecmoinsdefichiersmanquants",,,,,,"03-16-22",,"450",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-16-22","Fix","M.
GillesLajot-Sarthou","FAA(awAdapter)","Memberobjectnamesnolongermistakenlyaddedto.
wcPropSave(storevaluetothis*.
container.
*)","Lesnomsdeconteneursmembresnesontplusajoutésparerreurà.
wcPropSave(storevaluetothis*.
container.
03-16-22",,"451",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","03-16-22","Fix","M.
VincentHelleboid","awMenu.
prg","Bootstrap:fixeddrop-downmenuinvisibleonchildform","Bootstrap:menucontextuelinvisiblesurunformulaireenfant",,,,,,"03-16-22",,"448",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","02-22-22","Fix","M.
GillesLajot-Sarthou","abDev!
uValue()","Fixederror'MethodorprocedureuValue_td():erreur#11(""Functionargumentvalue,type,orcountisinvalid"")atline#4,020;Value:""01/020/2018""'","Solutionauproblème'MéthodeouprocédureuValue_td():erreurn°11(""Valeur,typeounombred'argumentsdefonction,nonvalide"")lalignen°4,020;Paramètresreus:Valeur:""01/020/2018"02-22-22",,"446",,"0",,"05-02-22","04-16-22""2.
26.
2","43205","02-21-22","Fix","M.
VincentHelleboid","awMenu.
prg","FixedabuginsupportingtheFROMclauseincommandDEFINEPOPUP.
.
.
SHORTCUTRELATIVEFROMMROW(),MCOL()Test:http://foxincloud.
com/tutotest/bs/Keypress.
tuto,rightclickintheformsurface","Résolutiond'unproblèmedesupportdelaclauseFROMdanslacommandeDEFINEPOPUP.
.
.
SHORTCUTRELATIVEFROMMROW(),MCOL();test:http://foxincloud.
com/tutotest/bs/Keypress.
tuto,clickdroitdanslasurfaceduformulaire",,,,,,"02-21-22",,"444",,"0",,"05-02-22","04-16-22""2.
26.
1","02-16-22","02-03-22","Fix",,"FoxInCloud.
js",".
RightClick()fixeddemo:http://foxincloud.
com/tutotest/RowSourceType.
tuto,rightclickintheformsurfacetoshowacontextmenu",".
RightClick()réparédémo:http://foxincloud.
com/tutotest/RowSourceType.
tuto,clickdroitdansleformulairedéclencheunmenucontextuel.
02-03-22",,"441",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","02-03-22","Supportextension","M.
VincentHelleboid","FoxInCloud.
js","Bootstrap:supportcontextualmenudemo:http://foxincloud.
com/tutotest/bs/RowSourceType.
tuto,rightclickintheformsurfacetoshowacontextualmenu","Boostrap:supportdesmenuscontextuelsdémo:http://foxincloud.
com/tutotest/bs/RowSourceType.
tuto,clickdroitdansleformulairedéclencheunmenucontextuel.
02-03-22",,"443",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","02-02-22","Optimization",,"awServerUpdateawProcess","Getadir()fromtheserverinsteadofpollingeachfile'slastmodificationdate-timeBysendingonlyonerequestperfolderinsteadofonerequestperfile,updatingthesiteis5to10timesfaster.
","LireaDir()d'undossiersurleserveuraulieuderequêterladate-heurededernièremodificationdechaquefichierdudossierEnn'adressantqu'unerequêtepardossieraulieud'unerequêteparfichier,lamiseàjourdusiteest5à10foisplusrapide",,,,,,"02-02-22",,"438",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","02-01-22","Enhancement",,"awProcess","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx)Listallformsfoundinthelog,evenifnotinstantiatedinthecurrentserver","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx)Listertouslesformulairestrouvésdanslelog,mêmesipasinstanciédansleserveurcourant",,,,,,"02-01-22",,"436",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-31-22","Enhancement",,"aw.
vcx!
aw*","aw.
vcx!
aw*.
wBSgroup:controlsBootstrapGroupmembership","aw.
vcx!
aw*.
wBSgroup:règlel'appartenanceàungroupeBootstrap",,,,,,"01-31-22",,"434",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-26-22","Fix",,"awPublic.
prg!
wAnchorResize*()","Fixedresizeissuewithbaseclasscontainer","Correctiond'uneerreurderedimensionnementdelaclassedebasecontainer",,,,,,"01-26-22",,"442",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-31-22","Fix","M.
GillesLajot-Sarthou","awSession","Fixrandomfileaccesserror""Fileaccessisdeniedc:\.
.
.
\temp\4y60jvv3v\_4y60jvv3v_form_scx_old.
cdx""","Régleruneerreursporadiqued'accèsàunfichier:Accèsaufichierrefuséc:\.
.
.
\temp\4y60jvv3v\_4y60jvv3v_form_scx_old.
cdx",,,,,,"01-31-22",,"435",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-26-22","Enhancement",,"awFrm","SupportthisForm.
wFormMaster('form.
xxx',.
.
.
)AssumingthatxxxProcess.
form()displaysastandardpagefor'form.
scx';inLANmode,'form.
xxx'isautomaticallytranslatedto'form.
scx'","SupportdethisForm.
wFormMaster('form.
xxx',.
.
.
)SupposequexxxProcess.
form()afficheunepagestandardavecleformulaire'form.
scx';enmodeLAN,'form.
xxx'estautomatiquementtraduiten'form.
scx'01-26-22",,"433",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-26-22","Enhancement",,"awProcess","VersionqueryStringaddedto*.
jsand*.
cssURLsBrowserreloads*.
jsand*.
cssafteraFoxInCloudversionchange,avoidingthe'versionmismatched'messageboxintroducedinV2.
26.
0,attheexpenseofagrowingbrowsercachespace.
","ParamètredeversionajoutéauxURLs*.
jset*.
cssLenavigateurrechargelesfichiers*.
jset*.
cssaprèsunchangementdeversiondeFoxInCloud,évitantlemessaged'avertissement'versionsdiscordantes'introduiten2.
26.
0,lecachedunavigateurconservantalorslesfichiersdechaqueversion.
01-26-22",,"432",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-20-22","Enhancement",,"awAppHost","Protectionanderrormessageincaseofaformcall(eg.
messagebox)duringapplicationstartup","Protectionetmessaged'erreurencasd'appeldeformulaire(parex.
messagebox)pendantledémarragedel'application(xxxSets.
Init(01-20-22",,"431",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-19-22","Enhancement",,"awHTML","Bootstrap:rightjustifyinlineforms(https://getbootstrap.
com/docs/4.
0/components/forms/#inline-forms)","Bootstrap:justifieràdroitelesformulairesenligne(https://getbootstrap.
com/docs/4.
0/components/forms/#inline-forms)01-11-22",,"421",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-16-22","Learning","Sr.
GustavoColmenares","awAppHost","WhenFormisdisplayedintheVFPIDE(developmentand/orTrialmode),addcovertopreventuserfrominteractingwiththeform.
","Quandunformulaireestaffichédansl'InterfacedeDeveloppementVFP(modedéveloppementet/ouessai),empêcherl'utilisateurd'interagiravecleformulaire",,,,,,"01-16-22",,"426",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-16-22","Fix","M.
GillesLajot-Sarthou","awSession","Fixrandomerrorwhensavingsession:Error:1884Message:UniquenessofindexWWSESSIONisviolatedProgram:save","Régleruneerreursporadiqueàlasauvegardedelasession:Error:1884Message:Violationducaractèreuniquedel'indexWWSESSIONProgram:save",,,,,,"12-30-21",,"419",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-16-22","Enhancement",,"awServer.
prgawAppHost.
prg",,"VérifiercohérenceCASdashboardetchart",,,,,,"01-12-22",,"427",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-16-22","Enhancement","Sr.
ArcadioBianco","FoxInCloud.
js","Whenamodalformhas.
QueryUnload()oracallbackmethod,disableclosingformbypressingtheescapekeyorbyclickinginthemodalbackdrop(Bootstrap)","Quandunformulairemodalestliéàuneméthode.
queryUnload()oucall-back,désactiversafermetureparlatouched'échappement(escape)ouleclickdanslefondd'arrièreplan.
01-16-22",,"428",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-13-22","Enhancement",,"awHTML","Grid:fixtitle(Tooltiptext)inheritencefromgridtocellthroughcolumn.
LikeinVFP,ifTooltiptextisdefinedatgridorcolumnlevelandemptyatcelllevel,upperleveldisplays","Grille:réglerl'héritagedutitle(Tooltiptext)delagrilleàlacelluleàtraverslacolonne.
CommedansVFP,lacellulesans.
Tootiptexthéritedeceluidelacolonneoudelagrille.
01-13-22",,"425",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-13-22","Learning",,"Samples","Responsive(Bootstrap)versionofAW\Samples\Tastraders","Versionadaptative(Bootstrap)deAW\Samples\Tastraders",,,,,,"12-15-21",,"415",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-12-22","Learning",,"Samples","Providearesponsive(Bootstrap)versionofSamples\FIC\FICdemo","Versionadaptative(Bootstrap)deSamples\FIC\FICdemo",,,,,,"01-12-22",,"423",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-12-22","Enhancement",,"awHTML","Bootstrap:renderlabelsoverlappingthetopofashapeorlineasaHTMLfieldsetlegend:http://foxincloud.
com/tutotest/bs/Event.
tuto('State')","Bootstrap:rendreleslabelschevauchantlebordhautd'uneforme(shape)oud'uneligne(line)commela'legend'du'fieldset'HTML:http://foxincloud.
com/tutotest/bs/Event.
tuto('State'01-12-22",,"424",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-11-22","Enhancement","Sr.
ArcadioBianco","awHTML.
prg","Persistclient-sidegridcolumnsortingwhenupdatingthedata","Grille:conserverl'ordredetrichoisiparl'utilisateurdelorsdurafrachissementdesdonnées",,,,,,"12-15-21",,"410",,"0",,"03-02-22","02-16-22""2.
26.
1","43146","01-11-22","Enhancement","MrTuviaVinitsky","abOOP","objectOfXML():avoidrunning.
Init()whenrestoringanobjectbasedonaclassotherthanEmpty","objectOfXML():éviterd'exécuter.
Init()enrestaurantl'objetd'uneclasseautreque'Empty'12-15-21",,"413",,"0",,"03-02-22","02-16-22""2.
26.
0","01-02-22","12-24-21","Enhancement",,"awProcess","CAShistory:newparameters:-max/avg-thisapp/allapponthisserver-thisserver/allservers","CAShistory:nouveauxparamètres:-max/avg-cetteapp/touteslesappsurceserveur-ceserveur/touslesserveurs",,,,,,"12-15-21",,"412",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","12-20-21","Fix","M.
VincentHelleboid","awAJAX","Whendisplayingachildformandamessagebox(orsimilar),makesuremessageboxalwaysdisplayslastregardlessofthecallorderThiscaseoccurswhendialogisissuedforform.
show()orform.
refresh()","Enaffichantunécranenfantetuneboitededialogue(ex.
messageBox()),s'assurerquelaboitededialogues'afficheendernierquelquesoitl'ordred'appel.
Cecasseproduitnotammentquandledialogueestproduitparform.
show()ouform.
refresh(12-20-21",,"417",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","12-08-21","Enhancement","Sig.
MicheleBosetti","awProcess","Errorreportandemailincludetheexedateandversion","Lesrapportsetemailsd'erreurincluentladateetlaversiondel'exe",,,,,,"12-08-21",,"409",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","12-08-21","Enhancement",,"awProcess","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx)re-designedusingBootstrap:responsiveandmoremodern;test:http://foxincloud.
com/tutotest/bs/foxincloud_status.
tuto","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx)remisenpageavecBootstrap:adaptatifetplusmoderne;test:http://foxincloud.
com/tutotest/bs/foxincloud_status.
tuto",,,,,,"12-08-21",,"408",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","12-08-21","Licensing","Sig.
MicheleBosetti","awProcess","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx)on-lineCASusagehistograms;test:http://foxincloud.
com/tutotest/bs/foxincloud_status.
tuto","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx)Historiquedel'utilisationdesCASenligne;test:http://foxincloud.
com/tutotest/bs/foxincloud_status.
tuto"21",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-30-21","Enhancement","Mr.
PaulElliott","FAA(awAdapter)","Variousfixesandenhancements:-fixedadaptationissuewhenfunctioncall(eg.
messageBox())ispartofanexpressionand/oronseverallinesofcode-addedaformwhereusercanselectignoredand/orexcludedfilesforanalysisServerandSiteinstallation(step3):-enhancedthelogmessages-raiseerrorifappcodeorprogramfolderareempty-rebuildfileswheneveruserchangesappcode-bettervisualfeedbackwhenfilesinstallationcompletes-compileclasslibrariesinreverseorderofdependencies","Quelquesaméliorationsetrésolutionsdeproblèmes:-problèmed'adaptationdesappelsdefonctions(ex.
messageBox())faisantpartied'uneexpressionet/ousurplusieurslignesdecode-nouveauformulaireoùl'utilisateurpourchoisirlesfichiersignoréset/ouexcluspouranalyseInqstallationduServeuretduSiteinstallation(étape3):-messagesd'erreuraméliorés-erreursilecoded'applicationouledossierdesprogrammesestvide-fichiersre-construitssil'utilisateurchangelecoded'application-enfind'installation,retourd'informationamélioré-compilerlesclassothèquesenordreinversededépendance.
11-30-21",,"405",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-18-21","Supportextension",,"aw.
vcxawAJAXawHTML","SupportOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]usingBootstraptreeview(https://github.
com/jonmiles/bootstrap-treeview)-supportnode.
*image.
Demo:http://foxincloud.
com/tutotest/bs/treeview.
tuto","SupportdelaOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]avecletreeviewBootstrap(https://github.
com/jonmiles/bootstrap-treeview)-supportdenode.
*image.
Démo:http://foxincloud.
com/tutotest/bs/treeview.
tuto",,,,,,"11-16-21",,"402",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-17-21","Enhancement",,"FAA(awAdapter)","FAAnolongerstopswhenclosingaclassorformcontaininganOLEcontrolsuchasMSComctlLib.
TreeCtrl.
2orRichText.
RichTextCtrl.
1","FAAnes'arrêteplusàlafermetured'uneclassecontenantuncontrleOLEcommeMSComctlLib.
TreeCtrl.
2ouRichText.
RichTextCtrl.
1"404",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-17-21","Enhancement","MrArtBergquist","FAA(awAdapter)","In'copy'(test)mode,copyallfileslocatedinfolderswheresomeprojectsourcecoderesides.
","Enmode'copie'(test),copiertouslesfichierssourcerencontrésdansdesdossierscontenantdesfichierssourceréférencésparleprojet",,,,,,"10-17-16",,"136",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-16-21","Enhancement",,"aw.
vcxawHTML","NewmethodawHTMLgen.
CSScustomAdd()AllowsaddingspecificCSSrulestothegeneratedawDefault*.
css","NouvelleméthodeawHTMLgen.
CSScustomAdd()AjoutedesdirectivesCSSspécifiquesàlafeuilledestylegénéréeawDefault*.
css",,,,,,"11-16-21",,"403",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-16-21","Supportextension",,"awHTMLaw.
vcx!
aw*FoxInCloud.
js","NewserverpropertiesxxxServer.
ljQueryUIdialog=.
T.
&&usejQueryUIdialoginsteadoflegacy'PrototypeWindowClass'xxxServer.
lPrototypeAdd=.
T.
&&loadPrototype.
js(http://prototypejs.
org/)anddependentscripts:Scriptaculous,PrototypeWindowClass,event.
simulate,etc.
AsPrototypeJSwillgetdeprecated,makesuretotestthesesettingsinyourapplication!
YoumaywanttofirstsetthesepropertiesinxxxTestServer.
","NouvellespropriétésserveurxxxServer.
ljQueryUIdialog=.
T.
:utilisezundialoguejQueryUIaulieudel'antique'PrototypeWindowClass'xxxServer.
lPrototypeAdd=.
T.
&&chargerPrototype.
js(http://prototypejs.
org/)etlesscriptsquiendépendent:Scriptaculous,PrototypeWindowClass,event.
simulate,etc.
CommePrototypeJSserabienttdépréciée,testezcespropriétésdansvotreapplicationaussittquepossible!
VouspouvezdansunpremiertempslesréglerdansxxxTestServer.
09-23-20",,"401",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","11-11-21","Supportextension",,"awHTMLaw.
vcx!
aw*FoxInCloud.
js","BootstrapSupportStep4:CompletemigrationfromPrototype.
jstojQuery.
","SupportdeBootstrapEtape4:findelamigrationdePrototype.
jsversjQuery",,,,,,"09-23-20",,"379",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","10-28-21","Supportextension",,"aw.
vcxawAJAXawHTML","SupportOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]usingBootstraptreeview(https://github.
com/jonmiles/bootstrap-treeview)-supportprogrammaticchangessuchasnodeaddition,removalormodificationDemo:http://foxincloud.
com/tutotest/bs/treeview.
tuto","SupportdelaOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]avecletreeviewBootstrap(https://github.
com/jonmiles/bootstrap-treeview)-supportdeschangementsprogrammatiquestelsqu'addition,suppressionoumodificationdenud,Démo:http://foxincloud.
com/tutotest/bs/treeview.
tuto"399",,"0",,"02-02-22","01-16-22""2.
26.
0","43101","10-14-21","Enhancement",,"awServer.
prg","Donotlogthisrequest!
Ifyoudon'twantarequesttoappearintheserverlog,callxxxProcess.
logRequestNo()anywheredutingtherequest","Nepashistorisercetterequête!
Sivousnevoulezpasqu'unerequêtesoithistorisée,appelezxxxProcess.
logRequestNo()àtoutmomentdelarequête.
400",,"0",,"02-02-22","01-16-22""2.
25.
0","10-02-21","09-29-21","Supportextension",,"aw.
vcxawAJAXawHTML","SupportOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]usingBootstraptreeview(https://github.
com/jonmiles/bootstrap-treeview)-supportednow:HTML/CSS/JSgenerationandallevents-notsupportedyet:programmaticchangessuchasnodeaddition,removalormodification,node.
*image.
Demo:http://foxincloud.
com/tutotest/bs/treeview.
tuto","SupportdelaOLEClass'MSComctlLib.
TreeCtrl.
2'[MicrosoftTreeViewControlV6(SP4)]avecletreeviewBootstrap(https://github.
com/jonmiles/bootstrap-treeview)-déjàsupporté:générationHTML/CSS/JSettouslesévénementsutilisateur-supportéplustard:changementsprogrammatiquestelsqu'addition,suppressionoumodificationdenud,,node.
*image.
Démo:http://foxincloud.
com/tutotest/bs/treeview.
tuto"73",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-23-21","Productivity",,"FAA(awAdapter)","ImprovedxxxSetscoderecycledfromdesktopapplication'smainprogram.
AddedwarningincasexxxSets.
prgdoesnotcompileOK;promptusertorevisexxxSetscodemanually.
","AméliorationducodexxxSetsrecyclédepuisleprogrammeprincipaldel'applicationdesktop.
AvertissementaucasoùxxxSets.
prgnecompilepascorrectement;invitel'utilisateuràverifierlecodemanuellement.
09-23-21",,"398",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-21-21","Productivity",,"FAA(awAdapter)","AllowFAAtostartwithoutanInternetconnexion,insuchcasewarnuserthatadaptationmaynotbeuptodateandsomefeatureswon'tbeavailable","Autoriserlefonctionnementdel'Assistantd'AdaptationsansconnectionInternet;danscecasavertirquel'adaptationpeutêtreobsolèteetquecertainesfonctionnalitésserontdésactivées.
116",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-16-21","Fix",,"FAA(awAdapter)","bugfix""filedir.
dbfdoesnotexist""","résolutiondubug""filedir.
dbfn'existepas"09-16-21",,"397",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-16-21","Productivity",,"FAA(awAdapter)","Savecurrentprojectviewfiltersinprojet'sinitializationfile(-awAdapter.
xml),andrestorewhenloadingproject","Sauverlesfiltresdevisualisationduprojetcourantdanslefichierd'initialisationduprojet(-awAdapter.
xml),etrestaurerauchargementduprojet"102",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-15-21","Supportextension",,"aw.
vcx!
awFrmFAA(awAdapter)",".
ProgrammaticChange()supported-AutomatedAdaptation:donotexecute.
ProgrammaticChange()when.
ValueischangedbyaWeb.
change()EventAddthiscodeatthebeginningof.
ProgrammaticChange()sourcecode:IFm.
thisForm.
wlInteractiveChangereturnENDIF",".
ProgrammaticChange()supporté-Adaptationautomatique:nepasexécuter.
ProgrammaticChange()quand.
Valueestchangéeparun.
change()WebAjouteraudébutducodesourcede.
ProgrammaticChange():IFm.
thisForm.
wlInteractiveChangereturnENDIF",,,,,,"12-14-18",,"127",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","09-07-21","Productivity",,"FAA(awAdapter)","Whenuserchoosestheaw.
vcxsub-ClassLibrarytargetFolder:defaulttothefirstprojectsub-foldercontainingthelargestnumberof*.
vcx,or*.
scx,or*.
prg,orrootfolder","Quandl'utilisateurchoisitledossieroùstockerlaclassothèquedérivéedeaw.
vcx:proposerautomatiquementlesous-dossierduprojetcontenantleplusde*.
vcx,àdéfautde*.
scx,àdéfautde*.
prg,àdéfautlaracineduprojet"105",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","08-16-21","Supportextension",,"awHTMLaw.
vcx!
aw*","BootstrapSupport,step3.
3:-renderVFPmenususingBootstrapnavbar,navanddropdowninsteadofjQueryUImenu","SupportdeBootstrapEtape3:supportdumenuparnavbar,navetdropdownBootstrap",,,,,,"09-23-20",,"396",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","03-25-21","Supportextension",,"awHTMLaw.
vcx!
aw*","BootstrapSupport,step3.
2:-supportforCheckbox|Optionbutton.
Style=2&&graphical","SupportdeBootstrapEtape3.
2:CheckboxetOptionbuttongraphiques",,,,,,"09-23-20",,"395",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","03-18-21","Enhancement",,"awServerawConfig","xxxTest|Prod.
ini>UserStateWeekssupportedformoredetails:modifyfileaw/app/xxxTest.
ini","xxxTest|Prod.
ini>UserStateWeekssupportépourplusdedétails:modifyfileaw/app/xxxTest.
ini",,,,"287",,"03-18-21",,"393",,"1",,"11-02-21","10-16-21""2.
25.
0","43009","03-18-21","Supportextension",,"awHTMLaw.
vcx!
aw*","BootstrapSupport,step3.
1:-useBootstrapdatepickerinsteadofjQueryUIdatepicker","SupportdeBootstrapEtape3.
1:calendrierBootstrapdate-timepicker",,,,,,"09-23-20",,"394",,"1",,"11-02-21","10-16-21""2.
24.
0","03-02-21","02-26-21","Supportextension",,"awHTMLaw.
vcx!
aw*","BootstrapSupport,Step2:-renderVFPformusingBootstrapresponsivegridsystem-implementhorizontalforms,inputgroupsandbuttongroups-replacePrototypeWindowbyBootstrapmodal","SupportdeBootstrap,étape2:-formulairesresponsiveaveclesystèmedegrilleBootstrap-supportdesformhorizontaux,groupesdeboutonsetdecontrles-fenêtresPrototypeWindowremplacéesparmodalBootstrap",,,,,,"09-23-20",,"378",,"0",,"04-02-21","03-16-21""2.
24.
0","42795","02-03-21","Behaviorchange",,"awPublic.
*","xxxServer.
cFrmMBclassandxxxServer.
cFrmIBclassreplaceawFrm.
wcMessageBoxClass/awFrm.
wcInputBoxClassandawPublic*.
hconstantsBecausecompilationconstantsinawPublic.
h/awPublic_override.
hcanfailbecauseofchangesinset('path')atcompiletime,wedefinetheseclassesatserverlevelsothattheycanbeaccessedfromanywhere,eitherfromanindependentprocedureoraformmembermethod.
PleasemakesuretomanuallyaddthesepropertiestoyourxxxServer.
prg;youcanjustcopyandpastethecorrespondinglinesfromaw\app\progs\xxxServer.
prg","xxxServer.
cFrmMBclassetxxxServer.
cFrmIBclassremplacentawFrm.
wcMessageBoxClass/awFrm.
wcInputBoxClassetlesconstantesdéfiniesdansawPublic*.
hParcequelefonctionnementdesfichiersdeconstantesestsensibleauset('path'),ladéfinitiondecesclassesestmaintenantcentraliséeauniveauduserveurpourêtreaccessiblesdepartout,aussibiend'uneprocédureindépendantequed'unemethodedemembredeformulaire.
Assurez-vousd'ajoutermanuellementleslignescorrespondantesàvotre(vos)xxxServer.
prg;vouspouvezlescopier-colleràpartirdeaw\app\progs\xxxServer.
prg",,,,"287",,"02-03-21",,"391",,"0",,"04-02-21","03-16-21""2.
24.
0","42795","01-20-21","Behaviorchange",,"awPublic.
*","awPublic_override.
hexpectedinprojectfolderFiletools\ab\awPublic_override.
hreplacedbytools\ab\awPublic_override_.
h,atemplateforyoutocopyandbuildyourawPublic_override.
hinproject'sfolder.
Thisnewdesignallowsproject-specificsettingssuchasthemessageboxclassforthewMessageBox()function.
Pleasereadcommentsintools\ab\awPublic_override_.
hformoreinformation.
","awPublic_override.
hdoitmaintenantrésiderdansledossierdel'application.
Lefichiertools\ab\awPublic_override.
hestremplacépartools\ab\awPublic_override_.
hquisertdemasquepourcréerunfichierawPublic_override.
hdansledossierduprojet.
Cettenouvellearchitecturepermetdesréglagesspécifiquesparapplication,commelaclassedemessageboxutiliséeparlafonctionwMessageBox().
Pourplusd'informationveuillezlireladocumentationdanstools\ab\awPublic_override_.
h",,,,"287",,"01-20-21",,"380",,"0",,"04-02-21","03-16-21""2.
23.
0","12-16-20","12-14-20","Supportextension","M.
VincentHelleboid","awPublic>wForm()","wForm()functionsupportsacall-backmethodas2ndparameterinWebmodeFunctionwForm()displaysaformfromwithinanindependentprocedureorfunction(modifycommandawPublic)Youcannowspecifyamethodassecondparameter;FoxInCloudconsidersthismethodasrelativetothecontrolorformwherecurrentuseractionhasoccurred.
Ifnoformorcontroliscurrent,eg.
whencallingwForm()fromamenuelement,themethodspecifiedisconsideredasanordertodisplaytheformasmodal.
Typicalusecaseforthisnewoptionistorefreshthecontroloranyofitsparentwhenchildformisclosed:wForm('Form.
scx','wFormCallBack')procedurewFormCallBacklparameterstuUserChoicethis.
parent.
refresh()","LafonctionwForm()supporteuneméthodederetourcommesecondparamètre.
LafonctionwForm()deawPublic.
prgpermetd'afficherunformulaireàpartird'uneprocédureoufonctionindépendante.
Vouspouvezmaintenantspécifieruneméthodecommesecondparamètre;FoxInCloudconsidèrecetteméthodeparrapportaucontrleet/ouauformulaireoùladernièreactiondel'utilisateurs'estproduite.
Sil'actiondel'utilisateurn'aportésuraucunmembredeformulaire(parex.
surunélémentdemenu),laméthodeindiquéeestconsidéréecommeunordred'afficherleformulairemodal.
Uncasd'utilisationtypiquedecetteoptionestderafrachirlecontrleouundesesparentsquandl'écranenfantestrefermé:wForm('Form.
scx','wFormCallBack')procedurewFormCallBacklparameterstuUserChoicethis.
parent.
refresh(12-14-20",,"389",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","12-01-20","Behaviorchange",,"awHTML.
gen","VFPbaseclassesremovedfromgeneratedawDefault*.
cssInxxx.
css,makesuretoreplaceany.
{}CSSdirectivebya.
aw{}directive,whereisthestandardVFPabbreviationforbaseclass;egreplaceany"".
commandbutton""by"".
awcmd""","LesClassesdebaseVFPretiréesdeawDefault*.
cssDansxxx.
css,remplaceztoutedirective.
{}CSSpar.
aw{},oùestl'abréviationVFPstandardpourlaclassedebase;parex.
remplaceztout"".
commandbutton""by"".
awcmd"12-01-20",,"388",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","12-01-20","Enhancement",,"awPublic.
prg!
wcIconFA()","NewfunctionswcIconFA()andwcIconGI()Returnsa'fontawesome'/'GlyphIcon'icon(http://fontawesome.
io/icons/,http://glyphicons.
com/)thatyoucaninsertanywhereinsometext(anemptystringindesktopmode).
RequiresthatyousetatdesigntimeorinxxxServer.
Init():xxxServer.
lFontAwsomeAdd=.
T.
xxxServer.
lBootstrapAdd=.
T.
Documentationandexamples:modifycommandawPublic>wcIconFA()","NouvellesfonctionswcIconFA()etwcIconGI()Retourneuneicne'fontawesome'(http://fontawesome.
io/icons/)/Glyphicon(http://glyphicons.
com/)quevouspouvezinsérerdansdutextepourrenduweb(retourneunechanevideenmodedesktop).
NécessitederégleraudesignoudansxxxServer.
Init():xxxServer.
lFontAwsomeAdd=.
T.
xxxServer.
lBootstrapAdd=.
T.
Documentationetexemples:modifycommandawPublic>wcIconFA(12-01-20",,"387",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-30-20","SupportextensionBehaviorchange",,"awHTMLaw.
vcx!
aw*","BootstrapSupportPhase1-newpropertyawFrm.
vcx!
awFrm.
wBSlHTMLgen(thatanyappforminheritsfrom)tochoosebetweenClassic-VFPorBootstrapHTMLrendering;atthisstage,absolutepositioningremains.
-newpropertyxxxServer.
lBootstrapAddtoloadBootstrapCSSandJSresourcesintoeachpage-statechanges(enabled/readonly/checked/active):replacein-linestylemodificationbyclassaddition/removal(withthecorrespondingCSSgenerated)sothatitcaneasilybyoverloadedbycustom`xxx.
css`-VFPbaseclassesremovedfromgeneratedawDefault*.
css:inxxx.
css,makesuretoreplaceany.
{}CSSdirectivebya.
aw{}directive,whereisthestandardVFPabbreviationforbaseclass;egreplace.
commandbutton{.
.
.
}by.
awcmd{.
.
.
}-startdeprecating`Prototype.
js`infavorof`jQuery`:asBootstrapreliesonjQueryandPrototype.
jsishardlyeverupdated,we'llprogressivelydeprecatePrototype.
jsandrelyonjQueryonly.
-identifypairslabel-controlautomatically-layoutintheBootstrap'grid'systemgeneratedbasedontheVFPformlayout.
-renderembeddedchildformsusingBootstrapModalinsteadofdeprecatedPrototypeWindowClass","SupportdeBootstrapEtape1:-nouvellepropriétéawFrm.
vcx!
awFrm.
wBSlHTMLgen(donttouslesformulairesdel'applicationhéritent)pourchoisirentrelerendu'classiqueVFP'et'Bootstrap'-nouvellepropriétéxxxServer.
lBootstrapAddpourchargerlesressourcesCSSetJSBootstrapdanschaquepage-changementd'étatenabled/readonly/checked/active/etc.
:remplacerlesmodificationsdustyledel'élementparl'ajout/suppressiondeclassesquexxx.
csspeutredéfinir-débutdel'abandondePrototypeJSauprofitdejQuery:commeBootstrapreposesurjQueryetPrototypeJSestaupointmort,nousremplaonsprogressivementlecodePrototypeJSparducodejQuery.
-paireslabel-contrleidentifiées-miseenpageBootstrapgénéréeautomatiquementselonladispositionduformulaired'origine",,,,,,"09-23-20",,"377",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-26-20","Lookandfeel","MrTuviaVinitsky","aw.
vcxawHTML","UseCSSclassesforstatechangesForstatechangessuchasdisabled,readonly,hover,active(page),changedisplaybyswitchingCSSclassesratherthanchangingtheHTMLelement'sin-linestyle.
HenceyoucaneasilychangevisualdisplayofsuchstatesbyredefiningthecorrespondingCSSclassinxxx.
css;","Traduirel'aspectvisueldesdifférentsétatsparCSS.
Lorsdeschangementsd'étatcommedis/enabled,readonly,hover,active(page),modifierl'aspectgraphiqueenjouantsurlesclassesCSSpluttqu'enmodifiantdirectementlestyledel'élémentHTML.
Cecipermetdemodifierfacilementl'aspectvisuelenredéfinissantlaclasseCSSdansxxx.
cssparrapportaucomportementstandardVFP.
12-24-15",,"124",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-29-20","Enhancement","v&u","awServer.
prgawAJAX","Persistform.
DataEnvironment.
members.
properties","form.
DataEnvironment.
members.
propertiessauvegardées"192",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-19-20","Enhancement","MrArtBergquist","FAA(awAdapter)","Whenrunningin'copy'(test)mode,promptusertoopenallsourcecodefilesasread-only","Enmode'copie'(test),demanderàl'utilisateurs'ilveutouvrirtouslesfichierssourceenlectureseule.
10-17-16",,"135",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-30-20","Supportextension",,"aw.
vcxawAJAXawHTML","SupportOLEclass'Shell.
Explorer.
2'[MicrosoftInternetExplorer]Supports.
Navigate()and.
Navigate2();makesureyourcodeinthesemethodscallsdodefault(m.
url).
Otherparametersofthese2methodsarenotsupported:flags,targetFrameName,postData,headers.
InWebmode,asnavigationtothespecifiedURLdoesn'toccur,events.
*Navigate*()don'tfireandstatuspropertiesdon'tchange:.
ReadyStateisalwaysREADYSTATE_COMPLETE(4),.
Busyisalways.
F.
and.
locationURLremainsempty","SupportdelaOLEclass'Shell.
Explorer.
2'[MicrosoftInternetExplorer]Supporte.
Navigate()et.
Navigate2();Ajoutezdodefault(m.
url)àvotrecodedanscesméthodes.
Lesautresparamètresdecesméthodesnesontpassupportés:flags,targetFrameName,postData,headers.
Enmodeweblanavigationversl'URLindiquéeétantfictive,lesévénements.
*Navigate*()nesedéclenchentpasetlespropriétésd'étatn'évoluentpas:.
readyStateresteàREADYSTATE_COMPLETE(4),.
busyresteà.
F.
et.
locationURLrestevide"70",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-19-20","Productivity",,"FAA(awAdapter)",".
Analyse_Member():workaroundfor*.
vcxlocationerrorIfaclasslibrarywasmovedtoanotherlocationafterbeingsubclassedintoa*.
cx,.
ClassLocisnolongerinsyncANDFAAcan'tfindtheclasslibraryatthespecifiedlocation.
Theworkaroundistosearcha*.
vcxwiththesamenameintheproject-ifonlyonefilematches,FAAtakesitastheparentclasslibrary.
Thisshouldminimizeexecutionerrorsinthe.
Analyse_Member()method,e.
g.
:[Error#:1733/Classdefinitionxxxxisnotfound]",".
Analyse_Member():contournementdeserreursdelocalisationde*.
vcxSiunebibliothèquedeclasseestintrouvablecarelleaétédéplacéedepuislacréationd'unesous-classeoud'unobjetdansun*.
cxetqueleprojetencomporteuneseuleportantlemêmenom,FAAlechoisit.
Cecidoitéviteruneerreurd'exécutiondanslaméthode.
Analyse_Member(),typiquement:[Error#:1733/Classdefinitionxxxxisnotfound]386",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-19-20","Productivity",,"FAA(awAdapter)","Errorsarenowrecap'dattheendofexecutionlog(enhancementsuggestedonhttps://support.
west-wind.
com/)IfanyerrorisencounteredduringAnalysisorAdaptation,theseerror(s)arenowrecapitulatedattheendofFAAlog.
YoucandisplayFAAlogbyclickingthedocumenticonlocatedbetweenbuttons'2-Analyze'and'3-Publish'atthetoprightoftheform.
","Erreursregroupéesàlafindulogd'exécution(améliorationsuggéréesurhttps://support.
west-wind.
com/)Leserreurséventuellementrencontréeslorsdel'exécutionsontmaintenantregroupéesaprèslemessagedefin.
Vouspouvezafficherlelogd'exécutiondel'Assistantd'Adaptationencliquantsurl'icnededocumentparmilesboutonsd'actionenhautàdroiteduformulaire.
385",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-17-20","Productivity","M.
LucGilot","FAA(awAdapter)","Firsttimeuserswitchesto'productionmode'orloadsanewproject,FAApromptstheusertoanalyzeit.
","Lapremièrefoisqueleprojetpasseenproductionouestchargé,FAAproposedel'analyser.
112",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-03-20","Supportextension","MrLachmayyaSiddanmane","aw.
vcxawHTML","Supportforformsdefinedinfoxels(.
ScaleMode=0)asopposedtopixels(.
ScaleMode=3)Forademonstration,seehttp://foxincloud.
com/tutotest/foxel.
tuto","Supportdesformulairesdéfinisenfoxels(.
ScaleMode=0)ennonpixels(.
ScaleMode=3)Démonstration:http://foxincloud.
com/tutotest/foxel.
tuto",,,,,,"11-03-20",,"384",,"1",,"01-02-21","12-16-20""2.
23.
0","42719","11-03-20","Enhancement",,"FAA(awAdapter)","HandleDoDefault()instructionsWheneveraFoxInCloudrequiresaDoDefault()inusercodetoexecuteFoxInCloudcodeinheritedfromaw.
vcxclass:-ifnoneexist,FAAaddsitautomatically,-ifoneexistsbutnotproperlylocated,FAAwarnsusertomovetheinstructiontotheappropriatelocation","PriseenchargedesinstructionsDoDefault()SiFoxInCloudrequiertuneinstructionDoDefault()pourexécuterlecodehéritédelaclasseaw.
vcx:-siaucunen'existe,FAAl'ajouteàl'endroitvoulu,-siuneexistemaispasàl'endroitvoulu,FAAavertitledéveloppeurpourqu'illadéplacelàoùFoxInCloudl'attend.
215",,"1",,"01-02-21","12-16-20""2.
22.
0","10-16-20","10-08-20","Enhancement",,"awScripts/*.
jsawProcess","Childformpositionsavedwhenmovedandrestorednexttimeuseropensit","Lapositiondesformulairesenfantestsauvegardéequandl'utilisateurledéplace,etrestauréeàlaprochaineouverture.
10-08-20",,"383",,"0",,"42675","42658""2.
22.
0","10-16-20","10-06-20","Supportextension",,"awScripts/*.
jsawProcess","UpgradetothelatestversionsofJSlibsPrototype1.
7.
3,jQuery3.
1,jQueryUI1.
12ThisdropssupportforIE8","MiseàjourverslesdernièresversionsdeslibrairiesJSPrototype1.
7.
3,jQuery3.
1,jQueryUI1.
12Ceciinterromptlesupportd'IE8"289",,"0",,"42675","42658""2.
22.
0","10-16-20","10-04-20","Fix",,"FAAaw.
vcx!
awFrm","wForm()accepts.
null.
assecondparametermeaning""definemodalitybasedon.
WindowType""FAAnowuses.
null.
asdefaultforwForm()secondparameterwhenFormdoesnotreturnanyvalue","wForm()accepte.
null.
commesecondparamètresignifiant""réglerlamodalitéselon.
WindowType""FAAutilisedésormais.
null.
commevaleurpardéfautdusecondparamètredewForm()sileformulaireneretournepasdevaleur.
10-04-20",,"382",,"0",,"42675","42658""2.
22.
0","10-16-20","09-27-20","Fix",,"aw.
vcx!
awGrd","Childgridnolongerskipsunadvertedlytofirstrow","Lesgrillesenfantneretournentplusinopinémentsurlapremièrerangée"381",,"0",,"42675","42658""2.
22.
0","10-16-20","09-27-20","Enhancement","MrJamesPatterson","aw.
vcx!
awGrdawHTML","InWebmode,disablegridrowchangewhen!
grid.
Enabled","EnmodeWeb,inhiberlechangementdelignequand!
grid.
Enabled"288",,"0",,"42675","42658""2.
22.
0","10-16-20","09-22-20","Enhancement",,"awServerawHTML","Supportfordynamicupdateoflistcontentswith.
ColumnCount>1","Supportdelamiseàjourducontenudeslistesavec.
ColumnCount>1",,,,,,"09-22-20",,"376",,"0",,"42675","42658""2.
22.
0","10-16-20","09-22-20","Behaviorchange",,"awServer","jQueryisnowrequired;xxxServer.
ljQueryAddisforcedto.
T.
","jQueryestdésormaisrequis;xxxServer.
ljQueryAddestforcéà.
T.
09-22-20",,"375",,"0",,"42675","42658""2.
22.
0","10-16-20","09-22-20","Enhancement","M.
VincentHelleboid","aw.
vcx!
awLst/Cbo",".
RowSourceType=2(Alias):Recno(.
RowSource)insyncwith.
ListIndex",".
RowSourceType=2(Alias):Recno(.
RowSource)synchroniséavec.
ListIndex",,,,,,"09-22-20",,"374",,"0",,"42675","42658""2.
22.
0","10-16-20","09-22-20","Enhancement",,"aw.
vcx!
awLstaw.
vcx!
awCboFAA","Nolongerneedtore-set.
RowSourceTypebeforeassigning.
RowSource","Plusnécessairederétablir.
RowSourceTypeavantd'assigner.
RowSource",,,,,,"09-22-20",,"373",,"0",,"42675","42658""2.
22.
0","10-16-20","09-21-20","Enhancement",,"FoxInCloud-status.
xxx","AddeddatasessionsetsviewClickonthe'DataSession'wordtoseethesettingsforthisdataSession.
","VisualisationdesSETsdechaquesessiondedonnéesCliquezsurlemot'DataSession'pourvoirsesSETsspécifiques",,,,,,"09-21-20",,"372",,"0",,"42675","42658""2.
22.
0","10-16-20","09-15-20","Fix",,"FAA(awAdapter)","ImprovedsupportformenuinstructionONSELECTIONPOPUPname[command]FAAcontinuesadaptingmenuinstructionsafteranerrorhasoccurred","Meilleursupportdel'instructionONSELECTIONPOPUPname[command]FAAcontinueàadapterlesinstructionsdemenumêmeaprèsqu'uneerreurestsurvenue",,,,,,"09-15-20",,"366",,"0",,"42675","42658""2.
22.
0","10-16-20","09-15-20","Learning",,"FoxInCloudstudio","FoxInCloudsamplesinstalledautomaticallyOtheroptionalinstalls:SQLserver2014expressandPDFXViewer2.
5","ExemplesFoxInCloudinstallésautomatiquementSQLserver2014expressetPDFXViewersontaussiinstalléenoption.
08-08-19",,"290",,"0",,"42675","42658""2.
22.
0","10-16-20","09-15-20","Productivity",,"awServerUpload","Whenupdatingproductionserver,saveupto10datedversionsofserverexecutable","Quandunserveurdeproductionestmisàjour,sauvegarderunhistoriquede10versionsdel'exécutable"44",,"0",,"42675","42658""2.
22.
0","10-16-20","09-15-20","Productivity",,"FoxInCloud.
jsawAJAX","SupportlinkinFormtitlebar:promptuserforbugcommentsandsendnotificationmessagefromserverwithuser'sformstatetableattached","Liendesignalisationdebugdanslabarredetitreduformulaire:demandersescommentairesàl'utilisateuretenvoyerlemaildepuisleserveuraveclatabled'étatduformulaireenpiècejointe",,,,,,"12-24-15",,"31",,"0",,"42675","42658""2.
22.
0","10-16-20","09-08-20","Lookandfeel",,"awHTML","Improveimageandtextpositiononbuttonaccordingto.
PictureMargin,.
PictureSpacingand.
PicturePosition","Améliorerlapositiondutextedel'imageselonlesréglagesde.
PictureMargin,.
PictureSpacinget.
PicturePosition"54",,"0",,"42675","42658""2.
22.
0","10-16-20","08-27-20","Enhancement",,"FoxInCloud-status.
xxx","Addedlastformusedbyuser,andlinktoendausersession","Nouvellesdonnées:dernierécranutiliséparutilisateuretlienpourterminerunesession.
08-27-20",,"371",,"0",,"42675","42658""2.
22.
0","10-16-20","08-25-20","Enhancement",,"aw.
vcx!
awFrm,awCnt,awPgf","Supportforformandmembersresizebasedon.
Anchor.
Wheneveraformhas.
borderStyle=3(resizable)orsaves.
Widthand/or.
Height,.
resize()isimplementedonthebrowser,serveradjustsmembercontrolsbasedon.
Anchorandreflectsthesechangesinthebrowser.
Serversaveseachform'sdimensioninusersessionsothatitdisplayswiththesamesizenexttimeuseropensthesameform.
","Supportduredimensionnementdesformulairesetdeleursmembresselon.
Anchor.
Siunécrana.
borderStyle=3(resizable)ousauve.
widthet/ou.
Heightin.
wcPropSave,.
resize()estimplémentédanslenavigateur.
Leserveurajustelesdimensionsetpositionsdesobjetsmembreduformulaireselonleur.
Anchor.
Leserveursauvelesdimensionsduformulairedanslasessiondel'utilisateurpourqu'ils'afficheaveclesmêmesdimensionslaprochainefois.
359",,"0",,"42675","42658""2.
22.
0","10-16-20","08-20-20","Enhancement",,"awPublic.
prg!
awSetsxxxSets.
Init()","xxxSets.
Init():youcannowuseSETinsteadofthis.
set()-plainSETswillberestoredwhenapplicationunloadsForbackcompatibility,this.
set()isstillsupported.
Supportedsetsarelistedin:modifycommandabDev>abSetsMaintain.
init()","xxxSets.
Init():this.
set()n'estplusnécessaire-lescommandesSETdansthis.
Init()serontrestauréesquandl'applications'arrêteCompatibilitéascendente:this.
set()restesupporté.
LesSETssupportéssontlistésdans:modifycommandabDev>abSetsMaintain.
init(08-20-20",,"367",,"0",,"42675","42658""2.
22.
0","10-16-20","08-19-20","Fix","MrTuviaVinitsky","abDev.
prg!
abSetsMaintain","Fixedbugwhenrestoringset('CPTRANS')","Bugenrestaurantset('CPTRANS'08-19-20",,"369",,"0",,"42675","42658""2.
22.
0","10-16-20","08-19-20","Enhancement","M.
VincentHelleboid","aw.
vcx!
awFrm.
wFormShow()awPublic.
prg!
wFormShow()","Modalform.
scxindesktop/LANmode:privatevariablecreatedbefore.
Show(1),namedasjustStem(form.
scx),holdingareferencetotheform(behaviorsimilartoDOFORM)","Formulaire.
scxmodalenmodedesktop/LAN:unevariableprivéeestcrééeavant.
Show(1),nomméecommejustStem(Formulaire.
scx)ettenantuneréférenceauformulaire(comportementanalogueàDOFORM)08-19-20",,"368",,"0",,"42675","42658""2.
22.
0","10-16-20","08-06-20","Enhancement","M.
VincentHelleboid","awHTML","Changing.
BorderStyledynamicallysupportedinWebmode","Lechangementdynamiquede.
BorderStyleestsupportéenmodeWeb",,,,,,"08-06-20",,"370",,"0",,"42675","42658""2.
22.
0","10-16-20","08-05-20","Enhancement","M.
VincentHelleboid","awAJAXawHTMLgen","Checkbox,OptionbuttonlabelssupportbeingdynamicallymovedandresizedinwebmodeWheneveraCheckboxorOptionbuttonismovedand/orresizedduringauserevent,theassociatedlabel,ifany,ismovedand/orresizedaccordingly.
(thisisanothersteptowardssupportingform.
resize()inwebmode)","LeslabelsdeCheckboxetOptionbuttonsedéplacentetseredimensionnentdynamiquementenmodeWebSilecodeexécutédurantunévénementutilisateurdéplaceouredimensionneuneCheckboxouunOptionbutton,lelabelassociééventuelsuitlemouvement.
(ceciestuneétapeverslesupportduredimensionnementdesécransenmodeWeb)08-05-20",,"365",,"0",,"42675","42658""2.
22.
0","10-16-20","08-05-20","Fix","M.
VincentHelleboid","aw.
vcx!
awFrm.
wForm()awPublic.
prg!
wForm()","wForm()returnsareferencetomodelessformswForm()nowreturnsthefollowingvalues:-failure:.
null.
,-modeless:referencetoformobject,-desktopandcallback(thisForm.
wForm()only):.
callback()result,-modal:.
show()result","wForm()retourneuneréférenceauxformulairesnonmodauxwFormretournelesvaleurssuivantes:-échec:.
null.
,-modeless:referenceàl'objetformulaire,-desktopetcallback(thisForm.
wForm()seult):résultatde.
callback(),-modal:résultatde.
show(08-05-20",,"364",,"0",,"42675","42658""2.
22.
0","10-16-20","07-28-20","Enhancement","Sig.
MicheleBosetti","FoxInCloudTutorial","Newsampleformwithanonlinesignatureonlineacquisitionofausersignature,uploadtotheserveranddisplayoftheresultingimageinaform:http://foxincloud.
com/tutotest/signature.
tuto","Nouvelécranexempleavecl'acquisitiond'unesignatureenligneAcquisitiond'unesignatureutilisateurenligne,téléchargementversleserveur,etaffichagedufichiergraphiquerésultatdansunformulaire:http://foxincloud.
com/tutotest/signature.
tuto",,,,,,"08-03-20",,"363",,"0",,"42675","42658""2.
22.
0","10-16-20","07-09-20","Enhancement","M.
VincentHelleboid","awServerFoxInCloud.
js","DynamicPageFrame.
resize()supported","Leredimensionnementdynamiquedescadresdepage(pageFrame)estsupporté08-03-20",,"362",,"0",,"42675","42658""2.
22.
0","10-16-20","07-09-20","Enhancement","M.
VincentHelleboid","awServerxxxServer","NewpropertyinxxxServer.
lFormVariableCreatelFormVariableCreate=.
T.
&&storeareferencetoeachform(.
scx)intoapublicvariablenamedasthevariablethatDOFORMcreatesbydefault.
","NouvellepropriétéxxxServer.
lFormVariableCreatelFormVariableCreate=.
T.
&&stockeruneréférenceàchaqueformulaire(.
scx)dansunevariablepubliquenomméecommelavariablequeDOFORMcréepardéfaut",,,,,,"08-03-20",,"361",,"0",,"42675","42658""2.
22.
0","10-16-20","07-07-20","Enhancement",,"awServerawProcess","Incaseofmultiplechainederrorsduringthesametransaction,sendasingleerroremailwhenthefirsterroroccurs.
","Encasd'unenchanementd'erreurspendantunemêmetransaction,envoyerunseulmessaged'erreur.
07-07-20",,"360",,"0",,"42675","42658""2.
22.
0","10-16-20","06-18-20","Enhancement",,"aw.
vcx!
awLogError","Administrationformtoeasilyanalyseproductionapplicationerrors.
Thisformallowsyoutoeasilyreviewtheerrorsencounteredbyyourproductionapplication,eitherlocally,inyourVFPIDE,oron-line,byclickingthelinkinyour'FoxInCloudApplicationServerdashboard'availableat.
.
.
/foxincloud-status.
xxx","Formulaired'administrationpouranalyserfacilementleserreursapplicativesenproduction.
Ceformulairevouspermetdepasserfacilementenrevueleserreurséventuellessurvenuessurvotreapplicationdeproduction.
Vouspouvezl'utiliserdansvotreinterfacededeveloppementVFP(aprèsavoirtéléchargélatabledelogdevotreserveurdeproductionavecxxxProd.
requestLogGet.
prg),ouenligneancliquantleliensurvotretableaudeborddeserveurd'applicationFoxInClouddisponibleà.
.
.
/FoxInCloud-Status.
xxx",,,,,,"06-18-20",,"353",,"0",,"42675","42658""2.
22.
0","10-16-20","06-09-20","Enhancement",,"awStart.
prg>awRequestLogRreplay()aw/app/progs/xxx.
requestLogReplay.
prg","Toeaselydebugaproductionserver,replaythesameuserrequestsinyourVFPIDE.
Ifyoufaceabugonyourproductionserverthatyoucanhardlyfigureout,justdownloadtherequestlogusingxxx*.
requestLogGet.
prg,andrunthenewxxx.
requestLogReplay.
prgYouneedseveralVFPIDEopensimultaneously:-2ormorewhereyourunyourFoxInCloudApplicationServer(FAS).
IfyourproductionserverrunsseveralCOMobjects,runningatleast2instancesofFASisrecommended.
-1whereyourunxxx.
requestLogReplay.
prg.
Foryourservertostopwhenanerroroccurs,youneedtocompileyourprojectindevelopmentmode(usingatPJcompileDebugMode.
prg)beforerunningyourFASinstances.
","Pourdéboguerfacilementunserveurdeproduction,rejouezlesmêmesrequêtesdansvotreenvironnementdedéveloppement.
Sivousrencontrezunbugenproductionquevousavezdumalàrésoudre,vouspouveztéléchargerlelogdeproductiongrceàxxx*.
requestLogGet.
prg,etrejouerlesmêmesrequêtesgrceàxxx.
requestLogReplay.
prgVousdevezouvrirplusieursinstancesdel'IDEVFP:-1ouplusquiexécutentvotreServeurd'ApplicationFoxInCloud(sivotreserveurdeproductiontourneavecplusieursobjetsCOM,aumoins2instancessontrécommandées)-1oùvousexécutezxxx.
requestLogReplay.
prgPourquevotreserveurs'arrêtelorsquel'erreursurvient,vousdevezlecompilerpréalablementenmodedéveloppementenexécutantatPJcompileDebugMode.
prg",,,,,,"06-09-20",,"352",,"0",,"42675","42658""2.
21.
1","07-02-20","06-25-20","Fix",,"awServer.
prg!
awAJAX.
propsReplace()","WaituntilWindowshasactuallyerasedtheoldformstatefilesbeforerenamingthenewonesasoldSeemingly,ERASEfiles.
*cantakesometimebeforeWindowshascompletedthejob,inwhatseemstobeanasynchronousprocess.
awServer.
prg!
awAJAX.
propsReplace()nowcatchestherenameerrorandsleepsuntilthefilenameisreallyavailabletoavoidtheerror1705""fileaccessisdenied""whenrenaming.
","AttendrequeWindowsaiteffectivementeffacélesanciennestablesd'étatduformulaireavantderenommerlesnouvellescommeanciennesApparemment,ERASEfiles.
*peutprendreuncertaintempsavantqueWindowsaitterminélatchequisembleasynchrone.
awServer.
prg!
awAJAX.
propsReplace()capturedésormaisl'erreuretattendquelenomdefichiersoitvraimentdisponibleavantderenommer;ceciévitel'erreur1705""Accèsaufichierrefusé06-25-20",,"358""2.
21.
1","07-02-20","06-24-20","Enhancement",,"awStart.
prgxxx*.
Update.
prg","ProductionApplicationupdateimprovedawServerUpload()nowupdatesautomatically:-thewholesiteifanewversionofFoxInCloudiwdetected,-thedefaultstylesheet(awDefaultAll.
css)ifanyoftheapplication'sclasslibraryhaschangedsincelastgeneration.
","Miseàjourdel'applicationdeproductionamélioréeawServerUpload()metàjourautomatiquement:-toutlesitesiunenouvelleversiondeFoxInCloudestdétectée-lafeuilledestylepardéfaut(awDefaultAll.
css)silesclassesdel'applicationontchangédepuissadernièregénération.
06-24-20",,"357""2.
21.
1","07-02-20","06-24-20","Enhancement",,"awServerxxxTest|Prod.
ini","SettinglogRepData=OninxxxTest|Prod.
iniaddsserverresponsedatatowwRequestLogThissettingshouldbeusedfordebuggingpurposeonly,asit'llincreasethesizeofwwRequestLog.
fptveryrapidly.
","RéglerlogRepData=OndansxxxTest|Prod.
iniajoutelesréponsesduserveràwwRequestLogIlvautmieuxutiliserceréglagedemanièretransitoire,pourdéboguage,carilfaitgrossirlefichierwwRequestLog.
fpttrèsrapidement.
06-24-20",,"356""2.
21.
1","07-02-20","06-23-20","Enhancement",,"aw.
vcx!
awFrm","InWebmode,set/getapersistantuservariablefrominsidetheformcodeusingthisForm.
wSessionVarSet/Get()","Enmodeweb,sauver/lireunevaleurpourl'utilisateurpersistanteparsessionaveclesméthodesthisForm.
wSessionVarSet/Get(06-23-20",,"355""2.
21.
1","07-02-20","06-18-20","Enhancement",,"aw.
vcx!
awCboaw.
vcx!
awLst","Workarounderror""ListIndexreceived(xx)shouldrangebetween0andyy"".
Thiserroroccursinamulti-criteriaselectionscenario,whenuserselectsavalueinachildcombobeforeitslistisrefreshedbeapreviousselectionintheparentcombolistThiscasenotbeingarealerror,theworkaroundconsistsin'canceling'theuserselectionwithoutraisinganerror","Erreur""Lavaleurreue(xx)devraitêtrecompriseentre0etyy""contournéeCetteerreurseproduitlorsquel'utilisateursélectionneunevaleurdansunelisteavantqueleserveurnel'aitrafrachie(parexempleunelisteenfantdontlecontenudépenddelasélectiondansunelisteparent).
Cecasn'étantpasàproprementparleruneerreur,elleestcontournéeenannulantlechoixdel'utilisateursanssouleverd'erreur.
06-18-20",,"354""2.
21.
1","07-02-20","06-03-20","Enhancement","MrTuviaVinitsky","awAppHost","IfaproductionApplicationServerfailstostart,systemsendsanotificationemailtoAdministratorandmessageismoreuser-friendly.
MakesurealldataarepopulatedinxxxProd.
ini!
","Siunserveurdeproductionnepeutdémarrer,leserveurenvoieunemaild'alerteàl'Administrateuretl'utilisateurvoitunmessaged'erreurplusclairAssurez-vousquetouteslesdonnéessontbienrenseignéesdansxxxProd.
ini!
06-03-20",,"351""2.
21.
1","07-02-20","06-03-20","Enhancement","M.
GillesLajot-Sarthou","awAJAX.
lSuccess","FormstatetablesattachedtoApplicationErroremail.
TheFormstatetablesareanvaluableresourcetoevaluatethecauseoftheapplicationerror","Encasd'erreurdansl'application,lestablesd'étatduformulairesontattachéesàl'emaildenotificationLestablesd'étatduformulairesontunmoyenprécieuxpourrechercherlacausedel'erreur",,,,,,"06-03-20",,"350""2.
21.
1","07-02-20","05-21-20","Enhancement","M.
GillesLajot-Sarthou","awServer.
prgaw.
vcx!
awFrm","RecoverfromfatalapplicationerrorsIfforsome(veryrare)reasonaformgetscorrupted(egagridloosingitsmembercolumnsbecause.
recordSourcewasUSEdIN),FoxInCloudApplicationServer(FAS)catchestheerror,re-instantiatestheformandretrytheuserrequest.
FASsilentlylogstheerrorforfurtherreference.
Useronlyfeelsaslightlylongerresponsetimeduetotheformre-instantiation.
Incasethesecondattemptalsofails,anerrornotificationemailissenttoappadministratorwithcctoFoxInCloudsupport.
","Auto-réparationdeserreursirrécupérables.
Danslecas(trèsrare)oùuneinstancedeformulairedevientinutilisable(parex.
siunegrilleperdsescolonnesaprèsunefermeturebrutaledeson.
recordSource),Leserveurd'ApplicationFoxInCloud(FAS)ré-instancieleformulaireettentederé-exécuterl'actiondel'utilisateur.
FAShistorisel'événementpourréférence.
L'utilisateurneressentqu'untempsderéponselégèrementallongédufaitdelaré-instanciationduformulaire.
Silasecondetentativeéchoueaussi,lesystèmeenvoieunemaildenotificationd'erreuràl'administrateurdusystèmeavecccausupportFoxInCloud(pouranalyse)05-21-20",,"349""2.
21.
1","07-02-20","05-03-20","Enhancement",,"awProcessawAJAXFoxInCloud.
jsaw.
prg","RequestLogandFoxInCloudApplicationServerstatuspage(dashboard)nowmentiontheInternetandbrowserresponsetimes,andtheAJAXresponsesize.
Thankstothetightintegrationofclient(FoxInCloud.
js)andserver,eachuserrequest(AJAX)providestotheservertheresponsetimesofbrowserandInternetofpreviousrequesttogetherwithitsID,datathatserverstoresintotherequestlog(wwRequestLog).
Knowingtheamountofdatareturnedbytheservercanbeusefulcluetooptimizeresponsetimes,especiallywhenmitigatedwithInternetresponsetime.
","LeLogetletableaudebordduServeurFoxInCloudindiquentlestempsderéponseInternetetNavigateur,etlatailledesreponsesAJAX.
Grceàlacollaborationétroiteentreclient(FoxInCloud.
js)etserveur,chaquerequêteutilisateurAJAXenvoieauserveurlestempsInternetetNavigateurdelarequêteprécédente(ainsiquesonID)queleserveurindiquedanslelogdesrequêtes(wwRequestLog).
ConnatrelatailledelaréponseAJAXauxactionsdesutilisateurspeutêtreunindicateurintéressantdansunerecherched'optimisation,notammentsionlerapprochedutempsderéponseInternet.
05-03-20",,"337""2.
21.
1","07-02-20","04-28-20","Enhancement",,"aw.
prg","New'FoxInCloud'menuiteminFoxInCloud`WebApplicationStudioforDevelopmentYoucannowstartsampleappsrightfromtheFoxInCloudmenuItem.
Splashscreenismodernized,annolongerrequiresaclick(trialversion)","Nouveaumenu'FoxinCloud'dansl'environnementdedéveloppement(FWAS)VouspouvezmaintenantdémarrerlesapplicationsexemplefourniesavecleServeurd'ApplicationFoxInClouddepuislemenuVFPL'écrand'accueilestmoderniséetsefermetoutseul(versiontrial)04-28-20",,"347""2.
21.
1","07-02-20","04-28-20","Fix","MrDonaldMcLeod","awAJAX","Savingcollectionsthatareformmembers","Sauvegardedescollectionsquisontmembredeformulaire",,,,,,"04-28-20",,"346""2.
21.
1","07-02-20","04-22-20","Enhancement","M.
GillesLajot-Sarthou","FoxInCloudTutorial","NewsampleformwithaGoogleMapFormoreinformation,pleaseseethisblogpost:AddingaGoogleMaptoaFoxInCloudForm","NouvelécranexempleavecunecarteGoogleMapPlusd'informationdanscepostdeblog:AddingaGoogleMaptoaFoxInCloudForm04-22-20",,"345""2.
21.
1","07-02-20","04-21-20","Enhancement","M.
GillesLajot-Sarthou","awServer.
prg!
awProcess.
cawJSinc&.
cawCSSinc","NewsignatureforawProcess.
cawJSinc()&.
cawCSSinc()2parameterswereaddedtothese2methods;Ifyou'veimplementedtheminyourxxxProcessclass,makesuretoreplacethelparametersintructionasfollows:LPARAMETERS;tcJSAdd;&&['']{en}Application,currentform[,andcustom],toFormasawFrmofaw.
vcx;&&{en}Referencetoform&&2016-04-20thn--{FiCV2.
21.
1}addedparameter,tcForm;&&{en}.
Nameofform&&2016-04-20thn--{FiCV2.
21.
1}addedparameter","NouvellesignaturepourawProcess.
cawJSinc()&.
cawCSSinc()2paramètresontétéajoutésà.
cawJSinc()&.
cawCSSinc();sivousavezimplémentécesméthodesdansvotreclassxxxProcess,remplacezl'instuctionlparameterspar:LPARAMETERS;tcJSAdd;&&['']{fr}JSfilesURLs(UTF-8encoded){fr}URLdesfichiersJSdel'applicationetduformulairecourant(encodésenUTF-8),toFormasawFrmofaw.
vcx;&&&&{fr}Référenceauformulaire&&2016-04-20thn--{FiCV2.
21.
1}ajouté,tcForm;&&{fr}Nomduformulaire&&2016-04-20thn--{FiCV2.
21.
1}ajouté04-19-20",,"344""2.
21.
1","07-02-20","04-19-20","Enhancement","MrDonaldMcLeod","aw*.
fpwawStart.
prgaw.
prg","FWASstartupsupportsdefaultdirectorystoredintheregistrybyusingthe'setasdefault'buttonoftheVFP'tools>options>Filelocation'menu.
TheFoxInCloudWebApplicationStudionowworksaroundthisdefaultdirectoryandsetsthestandardcurrentdirectorytohome(1)+""tools\ab\wc""instead.
","Audémarrage,FWASsupporteledossiercourantréglépardéfautdanslemenuVFP'outils>options>emplacementdesfichiers'LeStudiod'ApplicationsWebFoxInCloud(FWAS)contournedésormaisceréglageetleremplaceparledossierdetravailpardéfaut(home(1)+""tools\ab\wc"04-19-20",,"343""2.
21.
1","07-02-20","04-16-20","Enhancement","Sig.
MicheleBosetti","awServer.
prgawAJAX","Supportforrandomaliasnamesforpermanentrecordsets.
Thoughnotadvisable,youcanusesys(3)orsys(2015)tobuildyouraliasesnamesforstaticcursorsthatlivelongerthanauserevent.
Beforemakingthisdecision,thinkthatwhenrunningwithseveralservers,theFoxInCloudstatuspage(foxincloud-status.
xxx)willdisplaydifferentaliasesaccordingtotheserverwherethepagewasbuilt.
Thismaybesomewhatconfusingandcomplicatedebugging.
Ofcoursetemporarycursorsthatlivenolongerthantheusereventwherethewerebornarenotconcerned.
","Supportdesnomsd'aliasaléatoirespourdesjeuxdedonnéespermanentsBienquecenesoitguèrerecommandable,vouspouvezutiliserdesfonctions'aléatoires'commesys(3)ousys(2015)pourformerlenomsdevosaliases.
Avantdeprendrecettedécision,pensezquedansletableaudeborddevotreserveurFoxInCloud(foxincloud-status.
xxx),lesnomsdesaliaspourrontchangerselonleserveurquiproduitlapage,cequicompliquesérieusementlacompréhensionetledéboguage.
Biensrcecines'appliquepasauxaliastemporairesquidisparaissentàlafind'unévénementutilisateur.
04-16-20",,"342""2.
21.
1","07-02-20","04-16-20","Enhancement","Sig.
MicheleBosetti","FoxInCloud.
jsxxx.
js","CustomdateseparatorsupportedYoucannowspecifyacustomdateseparatorcharacterbyaddingthislineinxxx.
js:dateSeparator:'.
',//or'-'or.
.
.
Makesurethecharacteryouspecify==whatyouhaveinSet('Date')and/orSet('Mark')","SupportdesséparateursdedatespécifiquesVouspouvezspécifierunséparateurdedatedifférentde'/'enajoutantcetteligneauxparamètresFoxInClouddéfinisdansxxx.
js:dateSeparator:'.
',//ou'-'ou.
.
.
Assurez-vousquelecaractèrespécifiécorrespondàceluiutiliséparSet('Date')et/ouSet('Mark'04-16-20",,"341""2.
21.
1","07-02-20","04-15-20","Enhancement",,"Installation","Licensedusers:theFoxInCloudApplicationStudioshortcutnolongerneedsto'runasanadministrator'ThankstoInstallShieldprofeatures,allusersnowhavefullrightsonhome(1)+'tools\ab\*';Windowsnolongerstoresuser-modifiedfilesinthisdirectorytreeintoC:\Users\""user""\AppData\Local\VirtualStore","Utilisateursaveclicencedeproduction:plusbesoind'utiliserleraccourci'FoxInCloudApplicationStudio'entantqu'administrateurGrceauxfonctionnalitésavancéesd'Installshieldprofessionnel,touslesutilisateursontmaintenanttouslesdroitssurhome(1)+'tools\ab\*';WindowsnestockepluslesfichiersmodifiésdecettearborescencedansC:\Users\""user""\AppData\Local\VirtualStore"340""2.
21.
1","07-02-20","04-09-20","Enhancement",,"admin.
asp","MaintenanceURLschangedfrom'bin/wc.
dll'to'wc.
wc'ThispreparesthefuturemigrationtoWC5/6andcomplieswithIISdefaultsettings.
PRODUCTIONSITE-IMPORTANT:BEFOREupdatingyourappwiththisversionusingxxxProd.
update.
prg,youneedtodothisononyourdevelopmentandproductionmachines:-addascript-mappedextensionfor'*.
wc'pointingtoyourwc.
dll,withexactlythesamesettingsasthe'*.
xxx'scriptmapofyourapplication;see:-Inyour*.
inifiles,replace'bin/wc.
dll'by'wc.
wc'-replaceyoursite/admin/admin.
aspfilebyab\aw\app\site\admin\admin.
aspThismodificationisupwardcompatiblewithapreviousversionofFAS.
","URLsdemaintenancechangéesde'bin/wc.
dll'en'wc.
wc'CecipréparelafuturemigrationversWC5/6.
SITESDEPRODUCTION:AVANTdemettreàjourvotreapp.
àcetteversionavecxxxProd.
update.
prg,vousDEVEZfairecequisuitsurvotremachinesdedéveloppementetdeproduction:-ajouterune'extensionliéeàunscript'(script-mappedextension)on*.
wcavecexactementlesmêmesréglagesque*.
xxx,commesurcesimages:,-dansvosfichier*.
ini,remplacer'bin/wc.
dll'par'wc.
wc'-survotremachinededéveloppement,replacervotrefichiersite/admin/admin.
aspfileparab\aw\app\site\admin\admin.
aspCetteévolutioniscompatibleaveclesversionsantérieuresdeFAS"339""2.
21.
1","07-02-20","04-09-20","Fix",,"Samples\Tastrade","AdaptedtastradesampletothecurrentversionofFoxinCloud.
","Adaptél'exemple""tastrade""àlaversioncourantedeFoxInCloud.
338""2.
21.
0","04-02-20","03-26-20","Enhancement","M.
GillesLajot-Sarthou","FoxInCloud.
js","Discourageuserfromreloadingthepage(usingegF5)duringaneventAJAXrequestIfuserreloadsthepageholdingaformwhereauserevent(suchas.
Click)hasoccurredandisbeingprocessedbytheserver,servercanincertainscasesexecutethepagereloadbeforetheuserevent,causinginstabilityinformstateonserverside.
Toavoidthisbehavior,the'F5'keyisdisabledinbrowserwhenausereventstartsandenabledbackwhenbrowserreceivesaresponsefromtheserver.
Thisenhancementeliminatesalmostallruntineerrorsonmulti-server,high-loadFoxInCloudApplications;forexample,aFiCapplicationwith6productionCOMserversfor150namedusersserves25,000eventsrequestadayon35formswithnomorethan5errors(over99.
9%availability).
","Dissuaderl'utilisateurderechargerlapagependantqu'unévénementestencoursdetraitementSil'utilisateurrechargelapagecontenantunformulairealorsqu'unévénement(parex.
Click)estencoursdetraitementparleserveur,selonledélaid'acheminementdelarequêteauserveur,leserveurpeutexécuterlerechargementdelapageavantl'événementutilisateur,etcelui-cis'exécutedansuncontexteerroné.
Pourévitercettesituation,latouche'F5'estdésactivédanslenavigateurlorsqu'unerequêted'événementestenvoyéeauserveur,etréactivéelorsquelaréponseestreue.
Cetteaméliorationéliminelaplupartdeserreursd'exécutionsurlesapplicationFoxInCloudfortementchargées;parex.
,uneapp.
FoxInCloudavec6serveursCOMdeproductionpour150utilisateurstraite25.
000requêtesparjoursur35formulairesavecmoinsde5erreurs(disponibilitésupérieureà99,9%336""2.
21.
0","04-02-20","03-25-20","Enhancement",,"awServerxxxProd.
ini","NewconfigsettingnTableExclusiveMS(modifiableonline)Between(nTableExclusiveMS,200,5000)Delay(ms)foraservertowaituntilitcanUSEatableEXCLUSIVE.
Applicabletoproductionapplicationswithseveralservers(fileorCOMmodes).
AdjustinxxxProd.
iniifusersfrequentlygetmessagessuchas""AnotherServerisprocessingyourpreviousrequest.
.
.
""Minimumvalue:maximumdurationofauseractiononanapplication'sform.
However,serverstopswaitingassoonasitcangainexclusiveaccesstothetable.
","NouveauréglagenTableExclusiveMS(modifiableenligne)Délai(ms)d'attentepourunserveuravantd'accéderàunetabled'étatdeformulaireenEXCLUSIF.
Applicableàuneapplicationutilisantplusieursserveurslogiquesenproduction(modefichierouCOM).
RéglezdansxxxProd.
inisilesutilisateursrecoiventdesmessagestelsque""Unautreserveurestentraindetraitervotreprécédenterequête.
.
.
""Valeurminimale:duréemaximumd'uneactionutilisateursurlesformulairesdel'application.
Néanmoins,l'attenteduserveurcessedèsquel'accèsEXCLUSIFàlatableestpossible.
Between(nTableExclusiveMS,200,5000)335""2.
21.
0","04-02-20","02-26-20","Enhancement","Sig.
MicheleBosetti","aw.
vcx!
awFrm","HookmethodsawFrm.
wUserAction_Ante()andawFrm.
wUserAction_Post()tovalidateuseractioninwebmodeImplementthesemethodswheneveryouneedtoeither:-dosomethingbeforeorafteranyuseractionontheform,-checkthatuserisentitledtothisaction;if.
wUserAction_Ante()returns:-.
T.
(default):useractionexecutesnormally-.
null.
:useractiondoesnotexecutesilently(youshoulddecidewhattodonext,suchbyascalling.
wNavigate())-anotemptyvalue:useractiondoesnotexecuteandanerrorisraisedwiththevalueasmessage-anythingelse(suchas.
F.
):useractiondoesnotexecuteandanerrorisraisedif.
wUserAction_Post()returns:-.
T.
(default):useractionexecutesnormally-.
null.
:useractioniscanceledsilently(youshoulddecidewhattodonext,suchasbycalling.
wNavigate())-anotemptyvalue:useractionisignoredandanerrorisraisedwiththevalueasmessage-anythingelse(suchas.
F.
):useractioniscanceledandanerrorisraisedEg.
Ifyourmainformisalsoyourloginform(.
wlAnonymousAllowed),youcandenyanonymoususeractionsoncertainareasoftheform:PROCEDUREwUserAction_AntelparameterstcVFPhandler,tlPropAssign,tuValueifthis.
pgf.
activePage>1andeof('userAlias')&&userisnotidentifiedthis.
wNavigate(.
T.
)&&returntohomepagewithanidentificationwarning(.
T.
)return.
null.
&&preventuseractionwithoutanerrormessageendifLivetest:http://foxincloud.
com/tutotest/Modal.
tuto>doform>clickbutton'sessionexpired'","Méthodes'crochet'awFrm.
wUserAction_Ante()andawFrm.
wUserAction_Post()pourvaliderl'actiondel'utilisateurenmodewebImplémentezcesméthodespour:-accomplirunetcheavantouaprèstouteactionutilisateursurleformulaire,-vérifiersil'utilisateuraledroitd'exécuterl'action:si.
wUserAction_Ante()retourne:-.
T.
(défaut):l'actiondel'utilisateurs'exécutenormalement,-.
null.
:l'actiondel'utilisateurnes'exécutepassilencieusement;vousdécidezdelasuiteàdonnerenappelantparexemplethis.
wNavigate(),-unechanenonvide:l'actiondel'utilisateurnes'exécutepasetunmessaged'erreurestgénéréaveclachaneretournée,-touteautrevaleurcomme.
F.
:l'actiondel'utilisateurnes'exécutepasetunmessaged'erreurestgénéré,si.
wUserAction_Post()retourne:-.
T.
(défaut):l'actiondel'utilisateurs'exécutenormalement,-.
null.
:l'actiondel'utilisateurestannulée;vousdécidezdelasuiteàdonnerenappelantparexemplethis.
wNavigate(),-unechanenonvide:l'actiondel'utilisateurestannuléeetunmessaged'erreurestgénéréaveclachaneretournée,-touteautrevaleurcomme.
F.
:l'actiondel'utilisateurestannuléeetunmessaged'erreurestgénéré,Parexemple,sivotreécranprincipalsertaussiàl'identification,vouspouvezinterdirel'accèsàcertainespagesdel'écranauxutilisateuranonymes:PROCEDUREwUserAction_AntelparameterstcVFPhandler,tlPropAssign,tuValueifthis.
pgf.
activePage>1andeof('userAlias')&&l'utilisateurn'estpasidentifiéthis.
wNavigate(.
T.
)&&retouràlapaged'accueilavecinvited'identificationreturn.
null.
&&stoppel'exécutiondel'actionprévueendifTestenligne:http://foxincloud.
com/tutotest/Modal.
tuto>doform>clickbouton'sessionexpirée'334""2.
21.
0","04-02-20","02-11-20","Enhancement","M.
GillesLajot-Sarthou","awServer.
prg","Incaseoferrorinmenudefinition,especiallyifadifferentmenuhasbeenset(eginitialmenu),applicationmovesbacktohomepageforusertologbackin.
","Encasd'erreurdansladéfinitiondumenu,notammentsilemenupardéfautaétérétabli,l'applicationretourneàlapaged'accueilpourquel'utilisateurseré-identifie.
333""2.
21.
0","04-02-20","02-05-20","Enhancement","STI","aw.
vcx!
awFrm.
wFileSaveAs()FoxInCloud.
js","Optiontosend.
wFileSaveAs()intoabrowser'snewwindowForscenarioswhereusersuseadualmonitorconfiguration,youcandisplaydownloadedfilessuchasPDFsintoaseparatebrowserwindowthatusercandimensionandmovearoundasshe/heseesfit.
Wheneveruserclosesthisextrawindow,serverstoresitsdimensionsandpositionintotheuser'ssessionforlaterreuse.
Note:forthisfeaturetooperate,browsermustnotdisplayinfullscreenmode.
","Optionpourdiriger.
wFileSaveAs()dansunenouvellefenêtredunavigateur.
Dansdesscenariosoùlesutilisateurssontéquipésdeplusieursécrans,vouspouvezdirigerunfichiertéléchargécommeunPDFversunenouvellefenêtredunavigateurquel'utilisateurpeutdéplaceretdimensionneràsaguise.
Quandl'utilisateurrefermecettefenêtre,leserveurenregistreautomatiquementsapositionetsesdimensionsdanssasessionetlesré-utiliseàl'ouverturesuivante.
Note:pourbénéficierdecettefonctionnalité,lenavigateurnedoitpasêtreaffichéenmodepleinécran"332""2.
21.
0","04-02-20","02-06-20","Enhancement","MrTuviaVinitsky","FoxInCloud.
jsxxx.
js","Newgridsetting:gridRowChangeDelayClickedWhenusernavigatesrowsusingmouse,delayinsecondsbeforesendingrowchangeeventtotheserver--0shouldbeCursorGetProp(""FetchAsNeeded"")WhenCursorGetProp(""FetchSize"")>0withoutCursorGetProp(""FetchAsNeeded""),asVFPfetchesrecordsduringidletime,thecursorstatecanbeunstablewhenrequery()executes.
Inthiscase,aw.
vcx!
awColView.
wSave()issuesawarningtoeitherset:-iftotalviewreccountislimited(saylessthana1,000,orifviewcanbefiltered:DBsetProp(""FetchSize"",-1)toloadallrecordsatounce;-otherwise,DBsetProp(""FetchAsNeeded"",.
T.
).
IntheVFPIDE,whentheviewdesignerisopen,youcansetthesepropertiesbyeitherusingthemenu>query>advancedsettingsdialog,orbyeditingtheSQL(click'viewSQL'intheviewdesigner).
Youcanalsosetthedefaultvaluesfortheseremoteviewsettingsusingtools>options>remotedata,andclick'setasdefault'","Enmodeweb,lesvuesdistantesavecCursorGetProp(""FetchSize"")>0doiventêtreCursorGetProp(""FetchAsNeeded"")SiCursorGetProp(""FetchSize"")>0sansCursorGetProp(""FetchAsNeeded""),commeVFPchargelesdonnéesentempsmasqué,l'étatdelavuespeutêtreinstableaumomentd'exécuterrequery().
Danscecas,aw.
vcx!
awColView.
wSave()émetunavertissementpourrégleraudesigndelavue:-silenombretotald'enregistrementsdanslavueestlimité(moinsde1.
000)et/ousilavuepeutêtrefiltrée:DBsetProp(""FetchSize"",-1)afinquetouslesenregistrementssoientchargésd'unseulcoup;-sinon,DBsetProp(""FetchAsNeeded"",.
T.
).
Dansl'IDEVFP,quandleconcepteurdevuesdistantesestouvert,vouspouvezmodifiercespropriétéssoitaumoyendudialogueaccessibleparlemenu>requête>réglagesavancés,soitenéditantdirectementleSQL(clickez'voirSQL').
Vouspouvezréglercesoptionscommevaleursparpardéfautavecoutils>options>donnéesdistantes,etencliquant'valeurspardéfaut'323""2.
21.
0","04-02-20","11-27-19","Enhancement","MrTuviaVinitsky","aw.
vcx!
awFrmaw.
vcx!
awColViewawHTMLawAJAX","Remoteviewprogressivefetchsupport(A)REMOTEVIEWSRemoteviewsfallinto3categories:(1)withoutprogressivefetching[usingCursorSetProp(xx,""VIEW"",""FetchSize"",-1)](2)triggeredprogressivefetching[usingCursorSetProp(xx,""VIEW"",""FetchSize"",>0)andCursorSetProp(xx,""VIEW"",""FetchAsNeeded"",.
T.
)](3)automaticprogressivefetching[usingCursorSetProp(xx,""VIEW"",""FetchSize"",>0)andCursorSetProp(xx,""VIEW"",""FetchAsNeeded"",.
F.
)]-(1)wassupportedbeforethisrelease-(2)supportedbythisrelease-(3)bearstheriskthattheviewkeepsfetchingmoreandmoredataalonguseraction:ifthiseverhappens,theviewrequerydelaymayexceedtheacceptableresponsetime;however,thismightstillbeacceptableiftheview'sCursorSetProp(""MaxRecords"")orthebasetablerecordcountisreasonable.
However,insuchcase,FoxinCloudforcesCursorSetProp(""FetchAsNeeded"",.
T.
)andissuesawarningindevelopment(B)LOCALVIEWSANDCURSORADAPTERCURSORSWetakeadvantageofthisevolutiononremoteviewstoexpandsupportofotherkindofviews:-(a)persistallread-writeCursorGetProp()properties--wheneverausereventmethodchangesanyofthewritableCursorGetProp()properties,FoxInCloudApplicationServer(FAS)restoresthesepropertiesatnextuseraction-(b)persistUsed(view)--wheneverausereventmethodUSEIN(someview),FASUSEitbackforotherusers,IOWmaintainswhetherthisviewshouldbeusedornotforeachuser.
-(c)keepviewsusedinthesameorder--SofarFASkeptviewdefinitionsinanemptyobject;it'llswithtoaCollectiontoensureviewsarealwayssavedandrestoredinthesameoriginalorder.
Thiswillprovideabettersupportofinter-dependentviewssuchasviewsofviewsandviewparameterssetasafieldofanotherview.
Acollectionwillalsoprovideafaster,directaccesstoagivenviewdefinition(thelowercaseviewaliasbeingthecollection'skey)","Supportduchargementprogressifdesvuesdistantes(A)VUESDISTANTESLesvuesdistantespeuventseclasseren3types:(1)sanschargementprogressif[avecCursorSetProp(xx,""VIEW"",""FetchSize"",-1)](2)avecchargementprogressifdéclenché[avecCursorSetProp(xx,""VIEW"",""FetchSize"",>0)andCursorSetProp(xx,""VIEW"",""FetchAsNeeded"",.
T.
)](3)avecchargementprogressifautomatique[avecCursorSetProp(xx,""VIEW"",""FetchSize"",>0)andCursorSetProp(xx,""VIEW"",""FetchAsNeeded"",.
F.
)]-(1)étaitdéjàsupportéavantcetteversion-(2)sontsupportéesparcetteversion-(3)comportelerisquequelesvuescontinuentàcherchertoujoursplusd'enregistrements;danscecas,letempsderechargementdelavuerisqued'excéderletempsderéponseacceptable;cecipeutêtrecontournéavecunCursorSetProp(""MaxRecords"")ouunnombred'enregistrementsdanslatableraisonnable.
Danscecas,parsécurité,FoxInCloudforceCursorSetProp(""FetchAsNeeded"",.
T.
)etémetunavertissementpourledéveloppeur.
(B)VUESLOCALESETCURSORADAPTERSNousprofitonsdecetteévolutionsurlesvuesdistantespouramélioreraussilesupportdesautrestypesdevues:-(a)conserverl'étatdetouteslespropriétésCursorGetProp()enlecture-écriture--siunévénementutilisateurlesmodifie,leServeurd'ApplicationFoxInCloud(FAS)lesrétablitdanslemêmeétatàlaprochaineactiondecemêmeutilisateur-(b)conserverUsed(view)--siunévénementutilisateurfermeunevuedontlesautresontbesoin,FASlarouvre/fermeselonl'utilisateur-(c)garderl'ordreoùlesvuessontused--lesdéfinitionsdesvuesétantmaintenantstockéesdansunecollection,l'ordredeparcoursdesvuesestceluioùellesontétéouvertes.
Cecipréservelesupportdesvuesinterdépendantescommelesvuesdevuesetlesvuesdontunparamètreestlavaleurd'unchampd'uneautrevue.
Unecollectionprocureaussiunaccèsdirectàunevueaumoyendesonaliasquienconstituelaclé.
",,,,"287",,,,"287""2.
20.
3","11-16-19","11-20-19","Enhancement","MrTuviaVinitsky","awHTML","Y'$.
inputMaskmimicedforgrid.
column.
textBox:alogical.
ControlSource(with.
T.
/.
F.
)showsY/Ninsteadoftrue/falsehttp://www.
west-wind.
com/wwThreads/Message4HW07Z7D6.
wwt","Y'$.
inputMasksupportéforgrid.
column.
textBox:un.
ControlSourcelogique(.
T.
/.
F.
)afficheY/Naulieudetrue/falsehttp://www.
west-wind.
com/wwThreads/Message4HW07Z7D6.
wwt"311""2.
20.
3","11-16-19","11-20-19","Enhancement",,"FICtuto","Newform'valuesDelayed'demonstratingtheabilitytocollectsomecontrolvaluesonclientsideanddelaysubmittalofthissetofvaluestotheserverThisfeaturecansavetime(lessserverroundtrips)inscenarioswhereusershastoselect/enternumerousvaluesbeforeanyvalidactioncanoccur--eg.
asearchareaonaform.
","Nouveauformulaire'valuesDelayed'illustrantlapossiblitédecollecterlesvaleursdecertainscontrlessurleclientetd'endifférerl'envoiauserveur.
Cettepossiblitépermetdegagnerdutempsderéponse(aller-retourserveur)danslessituationsoùl'utilisateurdoitfournirdenombreusesvaleursavantuntraitementsubstantiel;parex.
unefonctionnalitéderecherche.
310""2.
20.
3","11-16-19","11-20-19","Enhancement",,"awGenMenu","GeneratesanEXTERNALFILEinstructionforvalidPICTUREclausesThisEXTERNALFILEinstructionensuresthattheprojectmanagerpullsinthepicturefile(necessaryforlaterwebimagegeneration)","GénéreruneinstructionEXTERNALFILEpourchaquePICTUREvalide.
CetteinstructionEXTERNALFILEassurequelegestionnairedeprojetinclutl'image,indispensablepourlagénérationdel'imageWebenproduction.
309""2.
20.
3","11-16-19","11-17-19","Fix","MrTuviaVinitsky","FoxInCloud.
js!
FormDisplay()awAJAX.
FormDisplay()","Fixederrormessage""noactionspecifiedontargetform""Reminder:ifyouneedtopassparameterstoform.
init(),makesuretopassacoma-delimitedstringofVFPliteralsasFoxInCloud.
FormDisplay()thirdparameter;egfor3parameters(integer,string,date):FoxInCloud.
FormDisplay(event,'form.
scx','1,""String"",{^2014/11/16}')","Messaged'erreurrésolu:""Aucuneactionspécifiéessurl'écrancible"".
Rappel:sivousdevezpasserdesparamètresàform.
Init(),assurez-vousdelespassersouslaformed'unechanedelittérauxséparéspardesvirgules;ex.
pour3paramètres(entier,chane,date):FoxInCloud.
FormDisplay(event,'form.
scx','1,""String"",{^2014/11/16}308""2.
20.
3","11-16-19","11-17-19","Enhancement","MrTuviaVinitsky","awAppHost","Productionserverunabletoreachfoxincloud.
comatstartup:clearerexplanationandtroubleshootinginstructionsAsoftheFoxInCloudlicense,yourproductionserverneedsbeabletosendanHTTPrequesttothefoxincloud.
comserveratstartup.
Wheneverthisfails,theservercontrolformsdisplaysclearertroubleshootinginstructionsthatyoucanlaterretrieveatthisURL:FoxInCloud-Status.
xxx,whereisthescript-mappedextensionofyourapplication.
","Serveurdeproductionnepouvantjoindrefoxincloud.
comaudémarrage:explicationsetinstructionsdedépannageplusclaires.
SelonlestermesdelalicenceFoxInCloud,votreserveurdeproductiondoitêtrecapabled'envoyerunerequêteHTTPauserveurfoxincloud.
comlorsdesondémarrage.
Sicetterequêteéchoue,leformulaired'étatduserveuraffichedesinstructionsdedépannagebeaucoupplusclairesquevouspouvezretrouverultérieurementàl'URL:FoxInCloud-status.
xxx,où'xxx'estl'extension'script-mappée'devotreapplication.
307""2.
20.
3","11-16-19","11-13-19","Enhancement",,"FAA(awAdapter)","Acontainingclasscaneasilybeignoredwhenpointingononeofitsmember.
Whenyoureviewanadaptationonanobjectmemberofacompositeclassandyourealizethatthiscompositeclasswillnotbeusedinyourwebapplication,theignorepopupmenunowoffersanoptiontoignorethecontainingclass.
","Uneclassecontenantepeutêtrefacilementignoréeàpartird'undesesmembresSurlaligned'unobjetmembred'uneclassecomposite,lemenuignorerproposedésormais,lecaséchéant,d'ignorerl'intégralitédelaclassecontenante.
Cecipeuts'avérerutilesivoussavezquecetteclassecompositeneserapasutiliséedansvotreprojetWeb.
306""2.
20.
3","11-16-19","11-13-19","Enhancement",,"FAA(awAdapter)","Adaptationunittimecanbecustomizedperproject.
Toadapttheunittimeforagiventypeofadaptation,justclickontheunittimelabelappearingatthebottomrightofthemainadaptationform.
This'llbringupachildformwhereyoucantchangethetime.
Ifyoudoso,theproject'sstatisticswillgetupdatedwhenyouclosetheform.
","Letempsunitairepartyped'adaptationpeutêtrepersonnaliséparprojet.
Pourpersonnaliserletempsunitairepouruntyped'adaptationdonné,cliquezlelabeldetempsquiapparatenbasàdroitedel'écranprincipald'adaptation.
Ceciouvriraunformulaireenfantoùvouspourrezmodifiercettevaleur.
Sic'estlecas,lesstatistiquesd'adaptationserontmisesàjouràlafermetureduformulaireenfant.
305""2.
20.
3","11-16-19","11-13-19","Enhancement","Quarzo","FAA(awAdapter)","Date-timewhenanadaptationwasignoredisnowrecorded","Dateetheurelorsqu'uneadaptationaétéignoréeestdésormaisenregistrée"304""2.
20.
3","11-16-19","11-07-19","Fix","M.
GillesLajot-Sarthou","awMenu","Nomore'datatypemismatch'whenrepeatedlycallingwMenu('SETSYSMENUSAVE').
","Plusd'erreur'typededonnéesinvalide'enappelantplusieursfoiswMenu('SETSYSMENUSAVE'303""2.
20.
3","11-16-19","11-06-19","Enhancement","M.
GillesLajot-Sarthou","awAJAX","SupportforRETURNobjectin.
Valid()andcall-backmethod.
Wheneverapplicationreturnsareferencetoanobjectandno.
setFocus()instructionwasexecuted,FoxInCloudApplicationServersetsfocusonthecorrespondingelement.
","SupportdeRETURNobjectdanslesméthodes.
Valid()etlesméthodesderappel(callback).
Siunévénementdel'applicationretourneuneréférenceàunobjetalorsqu'aucunemthode.
setFocus()n'aétéexécutée,FASajouteunorderdefocalisationsurl'élémentHTMLcorrespondant.
302""2.
20.
3","11-16-19","11-06-19","Fix","M.
GillesLajot-Sarthou","awServer.
prg>awAppConfig.
cScriptPathPhysical_Assign()","Indevelopmentmode,oConfigApp.
cScriptPathPhysicalisnolongersetautomaticallytothe_source\directory.
ThisconfirmsthatthissettingisinusebytheFoxInCloudApplicationServer(weoncewonderedifitshouldbedeprecated)-namelyby:modifyclassawImgGetFileofaw.
vcxmethodwcGetFileSWFimageURLget","Enmodedévelopment,oConfigApp.
cScriptPathPhysicaln'estplusrégléautomatiquementsurledossier_source\.
CeciconfirmequeceréglageestbienutiliséparleServeurd'ApplicationFoxInCloud(nousavionsparfoisévoquéqu'ilétaitpeut-êtredéprécié)-précisémentpar:modifyclassawImgGetFileofaw.
vcxmethodwcGetFileSWFimageURLget"301""2.
20.
3","11-16-19","11-06-19","Fix","M.
GillesLajot-Sarthou","FoxInCloud.
js","Whenclosingamodalform,focusissetbacktothecontrolresponsibleforopeningthisformonlyiffocusisonanothercontrolandthecall-backmethod(ifany)hasnotsetit.
Previously,the'auto-focus'featurecouldpreventthecallbackmethodfromexecutingbecauseofthepending'GotFocus'AJAXrequest.
","Alafermetured'unformulairemodal,lefocusrevientsurlecontrleàl'originedesonouvertureseulements'ilnel'apasdéjàetsilaméthodecallbackéventuellen'apasl'apasréglé.
Précédemment,cettefonctiond'auto-focuspouvaitempêcherl'exécutiondelaméthodecall-back,bloquéeparlarequêteAJAX'GotFocus'encours.
300""2.
20.
3","11-16-19","11-05-19","Fix","Sig.
MicheleBosetti","awHTML","CommanButtoninGridColumnwithbackgroundimage:JavaScriptgenerationfixed(stringliteraldelimitersmismatch)","Boutondecommandeavecimagedefonddansunecolonnedegrille:LeScriptactiveWidgetgénéréneproduitplusd'erreuràl'exécution(littéraldechanenonterminé299""2.
20.
2","11-02-19","11-03-19","Enhancement",,"awProcess","Supportprototype.
jsversion1.
7.
2MakesuretouploadPrototype1.
7.
2.
jstoyourproductionsite(s)'awScriptsdirectory!
","Supportdeprototype.
jsversion1.
7.
2Assurez-vousdechargerPrototype1.
7.
2.
jsversledossierawScriptsdevotre(vos)site(s)deproduction!
203""2.
20.
2","11-02-19","11-03-19","Enhancement","M.
GillesLajot-Sarthou","awServer.
prgawProcess","FoxInCloudstatuspage:moredetailsonthenumberofhitsandusersperformresponsetimeSampledatayounowget:Formresponsetimessince10/26/201505:22:47(1weekago):108useractionsfrom25uniqueusers","PagedestatutduServerd'ApplicationFoxInCloud:requêtessurunformulaireplusdétaillées.
Exempled'informationsprésentées:Tempsderéponseduformulairedepuisle26/10/201505:22:47(ilya1semaine)-118actionsde25utilisateursuniques"297""2.
20.
2","11-02-19","10-28-19","Fix","M.
GillesLajot-Sarthou","awServer.
prgawAJAX","Whentabbingfastonaform,focusnolongertogglesbetweencontrolsTotestthisfix,gotohttp://foxincloud.
com/tutotest/event.
tuto","Entabulantrapidementàl'intérieurd'unformulaire,lefocusne'danse'plusentrecontrles.
Pourtestercetteamélioration,http://foxincloud.
com/tutotest/event.
tuto"295""2.
20.
2","11-02-19","10-23-19","Fix","FiC'15training","aw\app\siteFAA(awAdapter)","index.
htmfilemissingindistributioncausedprojectformindexpagetobenolongergenerated.
To(re)generatethisfile,makesuretocreateanemptyfilenamed\tools\ab\aw\app\site\index.
htmandre-runFAAstep3-Publish","Acausedufichier'index.
htm'manquantdansladistribution,lapagedesformulairedel'applicationn'étaitplusgénérée.
Pour(ré)générercefichier,assurezvousdecréerunfichiervidenommé\tools\ab\aw\app\site\index.
htmetré-exécutezl'étape3-Publierdel'Assistantd'AdaptationFoxInCloud"296""2.
20.
1","10-02-19","10-02-19","Fix",,"awHTML","gridsortcolumnbetterrecognizedwhensomecolumnshaveanexpressionascontrolSource","Lacolonnedetrid'unegrilleestmieuxidentifiéelorqu'unedescolonnesauneexpressioncommecontrolSource.
42278",,"294""2.
20.
1","10-02-19","09-26-19","Fix",,"awHTML","'debugger;'instructionremovedfromgridonCellClick*()generatedcode.
ThisinstructionwouldcauseJavaScriptprogramtostopwhenclickingagridcellwhilebrowserdevtoolisopen","Instruction'debugger'téeducodeJavaScriptgénérépourl'événementonCellClick*()delagrilleCetteinstructionprovoquaitl'arrêtduscriptclientencasdeclicksurunecelluledelagrilleavecl'environnementdedéveloppementdunavigateurouvert.
09-26-19",,"293""2.
20.
1","10-02-19","09-25-19","Fix","MrTuviaVinitsky","awAppHost","Error1573:cannotchangemodalityofavisibleform","Erreur1573:cannotchangemodalityofavisibleform",,,,,,"09-25-19",,"292""2.
20.
0","08-08-19","08-01-19","Fix",,"FAA(awAdapter)","Automatedadaptation:replaceLastKey()bywLastKey()","RemplacementautomatiquedeLastKey()parwLastKey(214""2.
20.
0","08-08-19","07-29-19","Enhancement",,"awAppHost","Inproductionmode,form.
refresh()executesafterform.
Init()andform.
show()","Enmodeproduction,form.
refresh()s'exécuteaprèsform.
Init()etform.
show(07-29-19",,"285""2.
20.
0","08-08-19","07-23-19","Enhancement",,"awProcess.
FoxInCloud_status()","FoxInCloudserverstatuspagenowdisplaysform'sresponsetimebrokendownintorequestphases","LapagedestatutduServeurd'ApplicationFoxInCloudafficheletempsderéponsedechaqueformulairedécomposéparétapedetraitementdelarequête",,,,,,"07-23-19",,"284""2.
20.
0","08-08-19","07-22-19","Fix",,"FoxInCloud.
jswindow.
js","Whenclickingtwiceonawindowclosebutton,orclickingamessageBox'sclosebuttonaftertimeouteventhasfired,URLnolongerreturnstopreviousorhomepage","Encliquant2foissurlebouton'OK'd'unefenêtre,ouencliquantlebouton'OK'd'unemessageBoxaprèsquesontimeouts'estdéclenché,l'URLnerevientplusàlapageprécédenteouàl'accueil.
07-22-19",,"283""2.
20.
0","08-08-19","07-22-19","Fix",,"awHTML.
prg!
awHTMLgen","grid.
column.
checkbox:.
click()et.
valid()fireasingleeventontheserver.
Previously,as.
valid()isimplementedbydefault,2.
click()eventsweresenttotheserver.
","grid.
column.
checkbox:lesévénement.
click()et.
valid()nedoublonnentplusAuparavant,.
valid()étantimplémentépardéfaut,2événements.
click()étaientenvoyésauserveurquand.
click()étaitimplémenté07-22-19",,"282""2.
20.
0","08-08-19","07-22-19","Fix",,"awHTML.
prg!
awHTMLgen","grid:whencolumn.
currentControlchanges,theeventmethodsofthenew.
currentControlreplacethoseofpreviousone.
Previously,eventsoftheprevious.
currentControlwouldhaveremainedactive.
","grid:sicolumn.
currentControlchange,lesévénementdunouveau.
currentControlremplacentceuxduprécédentAuparavant,lesévénementsdel'ancien(.
currentControl)restaientactifs",,,,,,"07-22-19",,"281""2.
20.
0","08-08-19","07-21-19","Fix",,"aw.
vcx!
awCbo","Ina'true'combobox,changingthetextboxvaluedoestrigger.
InteractiveChange()ontheserverDueachangeineventprocessing,thisfeatureaceasedworkingduringthelifetimeofV2.
20betas;it'snowrestored","Dansune'vraie'combobox,lechangementdelavaleurdelacasedetextedéclenchebien.
InteractiveChange()Dufaitd'unechangementdanslemodedetraitementdesévénements,cefonctionnements'estinterrompupendantlaviebetadelaversion2.
20;ilestmaintenantrétabli.
07-21-19",,"280""2.
20.
0","08-08-19","07-18-19","Enhancement","MrTuviaVinitsky","awHTML.
prg!
awHTMLgenaw.
vcx","Inlistboxandcombobox,itemsinitiallydisabledbyprefixingby'\'arerendereddisabled=""disabled""atinitialHTMLgenerationPreviously,disabledlistitemsweredisabledontheclientbrowserdynamicallyonly,notatinitalHTMLgeneration","Dansleslistboxetlescombobox,lesélémentsinitialementinactif(préfixéspar'\')sontrendusdisabled=""disabled""àlagénérationduHTMLinitial.
Précédemment,lesélémentsinactifsn'étaientinactivéssurlebrowserquedynamiquement(pendantunerequêteutilisateur);désormais,leélémentsinitialementinactifssontrenduscommeteldansleHTML.
07-18-19",,"279""2.
20.
0","08-08-19","07-17-19","Enhancement","MrTuviaVinitsky","awHTML.
prg!
awHTMLgen","Whencyclingbetweencontrolsusingthetabkey,focusremainswithinthecurrentformPreviously,duetothenativebrowserbehavior,focusmovedoutoftheformwhenthemaximumtabindexwasreached;awHTMLnowaddsascriptthatmanagesfocus()àlaVFP.
","Quandonparcourtlescontrlesenutilisantlatouche'tab',lefocusnesortplusduformulairePrécédemment,conformémentaucomportementpardéfautdunavigateur,lefocussortaitduformulaireaprèsqueletabindexmaximumaétévisité;désormais,unprogrammeJavaScriptgénéréparformulairegèrespécifiquementlatouchetab.
07-17-19",,"278""2.
20.
0","08-08-19","07-16-19","Fix","MrJamesPatterson","awHTML","Grid:settingsarenolongerlostwhenmovingtoanotherrecordafteranotheruserhasmodified(.
recordSource)Previously,afterrunningthescenariobelow,griddisplaywouldbeaffected;eg.
magnifiericonswouldappearincolumnheaders.
Thisnolongeroccurs.
browser1(egfirefox):http://foxincloud.
com/demos.
phpbrowser2(egchrome):http://foxincloud.
com/demos.
phpbrowser1:-click'add'-addaclient,click'save',click'OK'browser2:movetoanotherrow","Grid:lesréglagesvisuelnesontplusmodifiéslorsqu'unutilisateurchangedeligneaprèsqu'unautreutilisateurachangélesdonnéesde(.
recordSource)Précédemment,enexécutantlescénariodetestci-dessous,l'affichagedelagrilleauraitétéaffecté,parex.
desicnesloupesauraientapparudanslesen-têtesdecolonnes;cecineseproduitplusbrowser1(egfirefox):http://foxincloud.
com/demos.
phpbrowser2(egchrome):http://foxincloud.
com/demos.
phpbrowser1:-clicker'add'-ajouterunclient,sauver,OKbrowser2:naviguerversuneautrelignedelagrille.
07-16-19",,"277""2.
20.
0","08-08-19","07-14-19","Enhancement","MrJamesPatterson","awHTMLFiCtuto","Grid:addedasampleshowinghowyoucandynamicallyfreezethecurrentgridrowUsefulwheneverusershouldnotbeabletomovetoanothergrid'srow,thisfeatureisdemo'dhere:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=report.
scxCheckingthe'freeezerow'checkboxpreventsuserfrommovingtoanotherrowintheordersgrid.
seealsoserversourcecodeathttp://foxincloud.
com/tutotest/fileDisplay.
tutotutoServer.
prg","Grid:nouvelexempledansletutorielenlignemontrantcommentvouspouvezgelerlaligned'unegrilledynamiquementUtilesil'utilisateurdoitrestersurlamêmelignedelagrille,cettefonctionnalitéestdémontréeici:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=report.
scxEnclickantlaboteàcocher'freeze',l'utilisateurnepeutplusnavigueràunautrerangdelagrille.
Voiraussilecodesourceduserveurici:http://foxincloud.
com/tutotest/fileDisplay.
tutotutoServer.
prg",,,,,,"07-14-19",,"276""2.
20.
0","08-08-19","06-25-19","Enhancement","MrRyanRindlisbacher","awHTML","Grid:columneventscodegenerationfasterandmoreeffectiveThealgorithmandprogrammingstyleofmethodawHTMLgen.
getHTML_grd_AW_cScript_Events_Cols()hasbeencompletelyrefactoredtobefaster(30%lessinstructionsexecuted)andmoreeffective(e.
g.
betterisolationofallflavorsof.
Click()events.
).
Youcanseethisliveathttp://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=Event.
scx,'grid'page","Grid:générationducodedesévénementsdecolonneplusrapideetefficace.
L'algorithmeetlecodedelaméthode…ontétécomplètementpourplusderapidité(30%d'instructionsexécutéesenmoins)etplusefficace(e.
g.
meilleuresegmentationdesvariantesdeclick)Vouspouvezvoirsonfonctionnementici:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=Event.
scx,page'grid'06-26-19",,"274""2.
20.
0","08-08-19","06-24-19","Enhancement","MrTuviaVinitsky","awAppHostxxxSets.
prg","xxxSets.
Init():listofformstobelaunchedatstartupavailableIfsomeofyourformsrequiresomeconditiontobemettoinstantiatestandalone(suchasusedaliases),youcantestwhetherthisformislistedinm.
toAppHost.
uFormsLaunchAtStartupandcodeaccordingly.
Seesampleofsuchcodein:modifycommand\Tools\AB\AW\App\Progs\xxxSets.
prg","xxxSets.
Init():lalistedesformulaireslancésaudémarragedel'applicationestdisponible.
Sicertainsdevosformulairesnécessitentdesconditionsd'environnementprécisespours'instancierisolément(parex.
desaliasesouverts),vouspouveztesterlaprésencedecesformulairesdanslalistem.
toAppHost.
uFormsLaunchAtStartupetexécuterlecodeapproprié.
Voustrouvezdesexemplesdecetypedecodedans:modifycommand\Tools\AB\AW\App\Progs\xxxSets.
prg",,,,,,"06-24-19",,"273""2.
20.
0","08-08-19","06-17-19","Fix",,"awHTML","Grid:solveconflictbetweeninheritedvalueanddefaultvalue.
Ifagridmemberpropertyissettoavaluedifferentfromitsparent's,ignoretheActiveWidgetdefaultvaluetoapplythevaluefound.
","Grille:résolutiond'unconflitentrevaleurhéritéeetvaleurpardéfaut.
Siunepropriétéhéritéeparuncontrleaunevaleurdifférentedecelledesonparent,ignorerlavaleurpardéfautd'ActiveWidgetsetappliquerlavaleureffectivementtrouvéedanslecontrle.
06-17-19",,"272""2.
20.
0","08-08-19","06-17-19","Enhancement",,"awHTML","GraphicalCheckBoxorOptionbuttonlabelsrenderedCSSheightconformstoVFP's.
Height","LahauteurCSSdeslabelsdeCheckboxetOptionbuttongraphiquesestconformeau.
Heightdel'objetVFP.
06-16-19",,"271""2.
20.
0","08-08-19","06-16-19","Enhancement",,"awHTML","LinkedlabelsstyledefinedindefaultstylesheetCSSstylesoflabelslinkedtoacheckbox()oroptionbutton(…type=""radio"".
.
.
)arenowstoredintoawDefault*.
css;thesestylesusedtobedefinedinlineintheHTMLtag,preventingfromcustomoverrideinxxx.
css.
","Lesstylesdeslabelsliéssontdéfinisdanslafeuilledestylepardéfaut.
LesstylesCSSdeslabelsliésauxcheckboxes()ouoptionbutton(…type=""radio"".
.
.
)sontdésormaisdéfinisdanslafeuilledesylepardéfaut(awDefault*.
css);cesstylesétaientprécédemmentdéfinisdanslabaliseHTMLcorrespondante(inline),réduisantlapossibilitédesurchargedansxxx.
css.
06-16-19",,"270""2.
20.
0","08-08-19","06-10-19","Fix","MrRyanRindlisbacher","awMenu","Shortcutmenu(popup)supportimprovedImproved:popupmenulocationnearmouse,popupmenucloseswhenclickinganywhereelseinthepage,relatedfunctionssuchasbar()andprmBar()solidified.
Moretocomeinfuturereleaseswheneveruserssubmitissuesandusecases(complexfeaturerequiringreal-lifecodetoexperimentandimprove).
Real-lifedemoandsourcecodeonFoxInCloudLiveTutorial:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=RowSourceType.
scx;right-clickintheformsurface-thisURListemporaryaswe'lllaterspreadshortcutmenuswithvarioususecasesallaroundtheFoxInCloudLiveTutorial.
","Supportdesmenuscontextuels(popup)amélioré.
Parmilesaméliorations,citons:lepositionnementdumenuprèsdelasouris,lafermeturedumenuencasdeclickailleurssurlapage,lamethodederetour(callback)etlesfonctionsliéescommebar()etprmBar().
D'autreaméliorationsserontapportéesselonlescasd'emploietlesremarquessoumisesparlesdéveloppeurs.
Démonstrationetcodesourcesurle'TutorielVivantFoxInCloud':http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=RowSourceType.
scx:clickdroitdanslefondduformulaire-cetteURLtemporairecarnousprévoyonsdedéployerdesmenuscontextuelsutilisanttoutlesspectredesfonctionnalitésVFPunpeupartoutdansle'TutorielVivantFoxInCloud'06-10-19",,"269""2.
20.
0","08-08-19","06-10-19","Fix","MrRyanRindlisbacher","awHTML","NativedatepickerinbrowsersuchasGoogleChromenolongerfiresontextboxwithdate.
Valueand/or.
FormatSofarawHTMLwouldadd[type=""date""]torenderingatextboxhavingadate.
Valueand/or.
Format.
InsomebrowserslikeGoogleChrome,triggersthenativedatepickerwhichconflictswiththejQueryUIdatepickeraddedbyFoxInCloudwhentextbox.
wlDatePicker.
Toavoidthisconflict,awHTMLrenderstype=""text""whenthejQueryUIdatepickerisrendered.
","LecalendriernatifdenavigateurscommeGoogleChromenesedéclencheplussurlestextboxayantun.
Formatet/ouune.
Valuedetypedate.
Jusqu'àprésent,FoxInCloudréglait[type=""date""](typeHTML5)surlesgénéréesàpartirdetextboxayantun.
Formatet/ouune.
Valuedetypedate.
DanscertainsnavigateurscommeGoogleChrome,cecidéclencheuncalendriernatifquientreenconflitaveclecalendrierjQueryUIqueFoxInCloudinstallesi.
wlDatePicker.
Pouréviterceconflit,awHTMLgénèreun[type=""text""]lorsquelecalendrierjQueryUIdatepickerestrendu.
06-10-19",,"268""2.
20.
0","08-08-19","05-15-19","Enhancement",,"aw.
vcx!
awPgf","awPgf.
wlPagesRefreshsupportedinbothdesktopandWebmodeBydefault,VFP9pageFrame.
Refresh()only.
Refresh()theactivepage.
Whensetting.
wlPagesRefreshto.
T.
,FoxInCloudexecutes.
Refresh()onallpages.
Youmayfindthisfeatureusefulincaseslike:-inbothdesktopandwebmodes,torefreshthepagescaptionuponnavigatingamaingrid,eg.
thiscode:this.
Caption=cRefAppend(this.
Caption,Reccount('awAdapter_awCustomer'),.
T.
,.
T.
)&&cRefAppend():modifycommandabTxt-inwebmodeifyoudon'twanttorequesttheservereachtimeauseractivatesapage.
Thispropertymighthavebeensupportedinthepast-somechangeintheawPgf.
Refresh()methodsmighthavebrokenthissupport.
","awPgf.
wlPagesRefreshestsupporté.
Pardéfaut,lepageFrameVFP9.
Refresh()serépercuteseulementàlapageactive.
Enréglant.
wlPagesRefreshà.
T.
,FoxInCloudrafrachittouteslespages.
Vouspouveztrouvercettefonctionnalitéutiledansdescascommesuivent:-enmodedesktopetweb,pourrafrachirletitredespagesenfantquandl'utilisateurnaviguedanslagrilleprincipale;parex.
cecode:this.
Caption=cRefAppend(this.
Caption,Reccount('awAdapter_awCustomer'),.
T.
,.
T.
)&&cRefAppend():modifycommandabTxt-enmodewebsivousnevoulezpasrequérirleserveurchaquefoisquel'utilisateuractiveunpage.
Cettepropriétéétaitpeut-êtresupportéeprécédemment,unemodificationdesméthodesawPgf.
Refresh()l'aprobablementcontrariée.
05-15-19",,"267""2.
20.
0","08-08-19","05-01-19","BehaviorChange","MrRyanRindlisbacher","awAppHostaw.
vcx!
awFrm","Firsttimeaformgetsinstantiateduponauserrequest,.
Init()executeswithoutparametersonlyonce(usedtobetwice)SinceawFrm.
Load()setsthisForm.
wlWeb,thisForm.
wlWebisproperlysetwhenform.
Init()executes.
ThisForm.
wlWebusedtobesetfromoutside,hencethesecondexecutiontomakesure.
Init()knewwhetherformwasrunningindesktoporwebmode.
ThusthisForm.
wlInitFirstisfullymeaningful.
Anotherconsequenceisthatform.
members.
Init()canalsosafelyrelyonthisForm.
wlWeb.
Justmakesuretocalldodefault()inyouformsubclasses'.
Load(),afterallviewsandcursoradaptersareopened(used).
","Lapremièrefoisqu'unformulaireestinstanciésuiteàunerequêteutilisateur,.
Init()nes'exécuteplusqu'unefoissansparamètre(2foisavant).
CommeawFrm.
Load()règlethisForm.
wlWeb,cettepropriétéestbienrégléelorsque.
Init()s'exécute.
AntérieurementthisForm.
wlWebétaitréglédepuisl'extérieurduformulaire,d'oùlasecondeexécutiondeform.
Init()assurantquethisform.
wlWebétaitcorrectementréglé.
DésormaisthisForm.
wlInitFirstestbiensignificatifdansform.
Init();demêmelesméthodesform.
membres.
Init()peuventsefieràthisForm.
wlWeb.
Assurez-vousbiend'appelerdodefault()dans.
Load()dessous-classesdevosformulaires,aprèsquetouteslesvuesetcursorAdaptersontouverts.
05-01-19",,"266""2.
20.
0","08-08-19","05-01-19","Enhancement","MrJamesPatterson","FoxInCloud.
jsxxx.
js","NewmethodFoxInCloud.
RequestSend_ante()Executesjustbeforesendingarequesttotheserver.
Youcanusethismethodtoaddparameterstothepostenvelope;todoso,addcodesuchas:this.
parameters['someKey']=someValue;onserverside,yourVFPcodecanreadtheseparametersanywhereusing:localoRequestaswwRequestofwwRequest.
prgsomeValue=iif(wlRequest(@m.
oRequest),Cast(m.
oRequest.
Form('someKey')as),.
null.
)/!
\datesrequireapriorconversiontoaVFPdateliteral:this.
parameters['someKey']=this.
RequestSend_sDate(someJavaScriptDate);youcouldalso(withextremecaution)overrideaparametersetbyFoxInCloud;eg:this.
parameters['vpw']=document.
documentElement.
clientWidth*1.
5;//ViewPortWidth//fakesalargerdisplayarea","NouvelleméthodeFoxInCloud.
RequestSend_ante()Exécutéejusteavantd'envoyerunerequêteAJAXauserveur.
Vouspouvezutilisercetteméthodepourajouterdesparamètresàl'enveloppePOST;pourcefaire,ajouterducodecomme:this.
parameters['uneClé']=uneValeur;Ctéserveur,vouspouvezretrouverceparamètreàtoutendroitdevotrecodeVFP:localoRequestaswwRequestofwwRequest.
prguneValeur=iif(wlRequest(@m.
oRequest),Cast(m.
oRequest.
Form('uneClé')as),.
null.
)/!
\lesdatesdemandentuneconversionpréalableenlittéralVFP:this.
parameters['uneClé']=this.
RequestSend_sDate(uneDateJavaScript);vouspourriezaussi,avecuneextrêmeprudence,surchargerlesparamètresréglésparFoxInCloud:this.
parameters['vpw']=document.
documentElement.
clientWidth*1.
5;//ViewPortWidth//simuleunesurfacevisiblepluslarge",,,,,,"05-01-19",,"265""2.
20.
0","08-08-19","04-10-19","Enhancement","MrRyanRindlisbacher","Response.
addCookie()aw.
vcx!
awFrm","Newmethods:Response.
add|getCookie(),awFrm.
wCookieAdd|Get()Youcannowaddacustomcookieanywhereinyourapplicationusingeitherm.
response.
addCookie()orthisForm.
wCookieAdd(),accordingwhereyouneedthisfunctionality.
Youcanlaterretrievethiscookieusingm.
request.
getCookie()orthisForm.
wCookieGet().
","Nouvellesméthodes:Response.
add|getCookie(),awFrm.
wCookieAdd|Get()VouspouvezmaintenantajouteruncookieàlaréponseHTTPdepuisvotreapplicationenutilisantm.
response.
addCookie()outhisForm.
wCookieAdd()selonquevotreappelsesituedansuneméthodedeformulaireounon,etleretrouverdanslesrequêtesultérieuresaumoyendem.
Request.
getCookie()outhisForm.
wCookieGet(04-10-19",,"264""2.
20.
0","08-08-19","03-24-19","Enhancement","MrTuviaVinitsky","awProcess.
FoxInCloud_status()","TheFoxInCloudApplicationServerStatusPagenowdisplaysAliases'saveandrestoretimes.
Thisfeaturecanbeofagreathelptooptimizedataaccesssuchaschoosingbetweenavieworacursor.
On-linedemo:http://foxincloud.
com/tutotest/foxincloud-status.
tuto","LapagedestatutduServeurd'ApplicationFoxInCloudafficheletempsdesauvegardeetrestaurationd'étatpourchaqueAlias.
Cettenouvelleinformationpourravousêtred'unegrandeutilitépouroptimiservotreaccèsauxdonnées,notammentarbitrerentrevueoucurseur.
Démonstrationenligne:http://foxincloud.
com/tutotest/foxincloud-status.
tuto",,,,,,"03-24-19",,"263""2.
20.
0","08-08-19","03-24-19","Enhancement","M.
GillesLajot-Sarthou","awHTML","ComboBoxwith.
BoundColumn>1supportedingridcolumn.
IfyouhavealookupComboBoxingridcolumn,suchascountrycodepointingtoacountriestable,it'snowsupported.
On-linedemoandcode:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=dataUpdate.
scx","LescomboBoxavec.
BoundColumn>1etmembred'unecolonnedegrillesontsupportées.
CescomboboxsontgénéralementutiliséesdanslescolonnespointantversunetableréférentielleparentcommeunIDdepayspointantverslatabledespays.
Démonstrationetcodeenligne:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=dataUpdate.
scx",,,,,,"03-20-19",,"262""2.
20.
0","08-08-19","03-20-19","Fix","MrTuviaVinitsky","abOOP.
prg!
objectOfXML()","ObjectsderivedfromaVFPbaseclass(suchascustom)arepropertlyrestored.
Becauseofmisusingthe.
resetToDefault()method,ObjectsderivedfromaVFPbaseclasssuchascustomwererestoredwithallpropertiesresettotheVFPdefault,.
F.
typically.
abOOP.
prg!
objectOfXML()nowresetstotheclassvalueifdifferent(objectpropertiesandcollectionsbeingsuported),andthenappliesthevaluepreviouslysavedasXML.
Moreinformationonhttp://www.
west-wind.
com/wwThreads/default_frames.
aspThread=4B00KYJP3","Lesobjetsdérivésd'uneclassedebaseVFPcommecustomsontbienrestaurés.
Jusqu'ici,àcaused'unusageimprudentdelaméthode.
resetToDefault(),lespropriétésdesobjetsdérivésd'uneclassedebasedotéedecetteméthode-commecustom-étaientrestaurésavecleurspropriétésremisesàlavaleurVFPpardéfaut,.
F.
danslaplupartdescas.
DésormaisabOOP.
prg!
objectOfXML()réalignelesvaleursdespropriétéssurcelledelaclasseavantd'appliquerlesvaleurssauvegardéesprécédemmentenXML.
Plusd'informationssurhttp://www.
west-wind.
com/wwThreads/default_frames.
aspThread=4B00KYJP3",,,,,,"03-20-19",,"261""2.
20.
0","08-08-19","02-21-19","Fix","M.
GillesLajot-Sarthou","awHTML",".
Click(),.
MiddleClick()and.
RightClick()nolongerconfusedingridcontrolSeethesimilarpreviousfixongridcolumnheaderandcells.
",".
Click(),.
MiddleClick()et.
RightClick()différenciésdanslecontrlegrilleIdemfixprécédentsurlesen-têtesdecolonneetdescellules.
260""2.
20.
0","08-08-19","02-21-19","Optimization",,"aw.
vcx","AutomaticallyPagedGridWheneveryouhaveagridwithalargenumberofrecords,justdropaninstanceof'awCntGrdPage'classintoyourform,cutandpasteyourgridinsidethiscontainer,you'llgetapagedgridinWebmodewithoptimizedresponsetimes.
Supportsallkindsof.
recordSource;willlatersupportin-grideditionwithany.
RecordSource'sbuffering.
Yourgrid'sbehaviorremainsunchangedindesktopmode,withexactlythesamecode.
Thisisautomaticforgridsthataremembersofform.
scx.
Ifgridisamemberofaclass,youneedtomanuallygivethecontainerthesamenameasthegrid(inthiscase,asVFPmakesthe.
Namepropertyread-only,codecan'tchangeit).
","GrillepaginéeautomatiquementawCntGrdPage:Siundevosformulairescomporteunegrilleavecdenombreuxenregistrements,ajoutezunobjetdecetteclassesurvotreformulaire,collez-yvotregrilleexistanteetvousaurezenmodeWebunegrillepaginéeavecdestempsderéponseoptimisés.
Supportelesgrillestouslestypesde.
RecordSource,etsupporteraprochainementles.
RecordSourcemodifiablesavectouslestypesdebufferisation,ainsiquel'éditiondirectedanslagrille.
Lecomportementdelagrilleestinchangéenmodedesktop,avecexactementlemêmecodecode.
Cecomportementestautomatiquesilagrilleestmembred'unformulaire.
scx.
Toutefois,silagrilleestmembred'uneclasse,vousdevezdonnermanuellementaucontainerdérivédeawCntGridPagelemêmenomqu'àlagrille(cardanscecasVFPrendlapropriété.
Nameenlectureseule,leprogrammenepeutdoncpaslamodifier)170""2.
20.
0","08-08-19","02-05-19","Enhancement",,"aw.
vcx","Newproperties.
wuEffectShowand.
wuEffectHide:setsthevisualeffectwhenobject'svisibilitychangesinWebmode.
.
T.
bydefault,thesepropertiesallowyoutofinetunethegraphicaleffectsappliedtoanobjectwhenitsvisibilitychangesinWebmode.
Settingeitherofthesepropertiesto.
F.
inhibitstheappearand/orfadetransitionwhenobjectturnstovisibleorhidden.
Settingthemto.
null.
appliesthedefaultbehaviordefinedinFoxInCloud.
jsandxxx.
js.
Otheroptionswillbelatersupportedsuchas:-theparametersyouwanttheeffecttoapply,eg.
'{duration:4}'tosettheeffectdurationto4seconds,-theeffectyouwanttouse,eg.
'Effect.
Squish[({options})]'tousethe'Squish'effectratherthanthedefaultappear/fade.
Willbesupportedbyallobjectsincludingformsandpagesinpageframes.
","Nouvellespropriétés.
wuEffectShowet.
wuEffectHide:règlentlestransitionsvisuelleslorsquelavisibilitéd'unobjetchangeenmodeWeb.
Régléesà.
T.
pardéfaut,cespropriétésvouspermettentderéglerfinementl'effetgraphiquequevousvoulezappliqueràunobjetlorsquesavisibilitéchangeenmodeWeb.
Enréglantcespropriétésà.
F.
vousremplacezl'effetd'apparition/évaporationparunsimplemontrer/cacher.
Sivouslesréglezà.
null.
vousappliquezledéfautdéfinidansFoxInCloud.
jsetxxx.
jsD'autresoptionsserontsupportéesplustardcomme:-lesparamètresquevousvoulezappliqueràl'effetstandard:parex.
'{duration:4}'règleraladuréedel'effetà4secondes,-l'effetquevousvoulezutiliser,parex.
'Effect.
Squish[({options})]'utiliseral'effetSquishenlieuetplacedel'effetpardéfaut.
Touslesobjetssupporterontprogressivementcettepropriété,ycomprislesformulairesetlespagesdepageFrame.
02-05-19",,"256""2.
20.
0","08-08-19","02-05-19","Enhancement",,"awHTML","DynamicGrid.
RecordSourceandGrid.
columns.
ControlSourcearesupported.
YoucannowchangeGrid.
RecordSourceandGrid.
columns.
ControlSourceduringthecourseofauserevent:FoxInCloudApplicationServerwilltakecareofsavingthesedataforeachuser(inadiskfile),andrestorethemuponthenextrequestofthesameuser.
","LesGrid.
RecordSourceandGrid.
columns.
ControlSourcedynamiquessontsupportés.
VouspouvezdésormaischangerGrid.
RecordSourceandGrid.
columns.
ControlSourcependantunévenementutilisateur:leServeurd'ApplicationFoxInCloudsechargeradesauvercesdonnéesautomatiquementpourchaqueutilisateur,etlesrétabliraàlaprochainerequêtedumêmeutilisateur.
02-05-19",,"257""2.
20.
0","08-08-19","02-05-19","Enhancement",,"awHTML","grid.
column.
Dynamic*propertiesaresupportedinWebmodeevenifgrid.
RecordSourcerowbufferisdirty.
Sofar,whenInlist(CursorGetProp(""Buffering"",grid.
RecordSource),2,3)andbufferwasdirty,grid.
column.
Dynamic*propertieswerenotevaluatedinWebmode.
awHTML.
prg!
awHTMLgen.
getHTML_grd_AW_cScript_DynProps()usesthenewabRowBufferSave(modifycommandabData)which,similarlytoabSetorabSelectclasses,savestheRowBufferin.
Init(),temporarilyturnsintoTablebuffering,andrestorestheRowbufferin.
Destroy()","Lespropriétésgrid.
column.
Dynamic*sontsupportésmêmesiletampond'enregistrementdegrid.
RecordSourceestmodifié.
Jusqu'ici,lespropriétésgrid.
column.
Dynamic*n'étaientpasévaluéeslorsqueletampond'enregistrementdugrid.
RecordSourceétaitmodifié.
DésormaisawHTML.
prg!
awHTMLgen.
getHTML_grd_AW_cScript_DynProps()utiliselanouvelleclasseabRowBufferSavequi,dansson.
Init()sauveletampond'enregistrementetpassel'aliasentampondetabletemporairementet,dansson.
destroy(),rétablitletampond'enregistrement.
02-05-19",,"258""2.
20.
0","08-08-19","02-05-19","Enhancement","M.
GillesLajot-Sarthou","Samples\ficTuto","FoxInCloudLiveTutorialimproved!
FoxInCloudLiveTutorialisthecornerstonewhereyoucanseeFoxInCloudinaction:-controlsandeventssupported-responsetimes-maincasesofadaptation-sourcecodedynamicallyextractedfromsource*.
cxandcolorized-real-timeeventlog-FoxInCloudApplicationServersourcecode-FoxInCloudApplicationServerAdministrationtools-customCSSandJSfiles-andmuchmoreMakesuretobookmarkhttp://foxincloud.
com/tutotest/!
It'saplaceyou'llplayoftenvisitto.
.
.
","LetutorielliveFoxInCloudsuperamélioré.
LetutorielliveFoxInCloudestlepointfocaloùFoxInCloudvousmontretoutcequ'ilsaitfaire,etpeutfairepourvotreapplication;enparticulierildémontre:-lescontrlesetévénementssupportés-lestempsderéponse:Internet,application,serveur,navigateur,-unexempledescasd'adaptationlespluscourants,-lecodesourcequis'exécutesurleserveur,extraitdynamiquementdesfichier*.
scx,*.
prg,*.
mpret*.
qpr,coloriséetlocaliséselonlalanguepréféréedevotrenavigateur(selonlanguesdisponible,enAnglaispardéfaut),-lesfichierssourceduServeurd'ApplicationFoxInCloud,CSSetJavaScript,-etbienplusencore.
.
.
Assurez-vousdeplacerhttp://foxincloud.
com/tutotest/dansvosfavoris!
C'estunendroitquevousviendrezvisitersouventlorsquevousadapterezvotreapplication!
02-05-19",,"259""2.
20.
0","08-08-19","02-05-19","Supportextension",,"aw.
vcx!
awFrm","Grid:.
BeforeRowchange()supportedOccurswhentheuserchangestheactiveroworcolumnbeforethenewcellgetsthefocus.
ItalsooccursbeforetheValideventofthecurrentobjectinthegridcolumnandanyrulesinthedatabase.
Topreventtheactiverowandcolumninthegridfromchanging,useNODEFAULTindesktopmode,andreturn.
F.
inWebmode","Grille:.
BeforeRowChange()supportéCetévénementseproduitquandl'utilisateurchangedeligneactivedanslagrille.
Pourempêcherlechangementdeligne,ajouterNODEFAULTpourlemodedesktop,etreturn.
F.
pourlemodeWeb.
12-14-18",,"250""2.
20.
0","08-08-19","01-31-19","Optimization",,"aw.
vcx","Newproperty.
wcPropSaveNot:listofcustompropertiesthatshouldNOTbesaved.
Bydefault,FoxInCloudsavesanycustompropertyaddedtoanobject,eitheratdesigntimeoratruntimeusingVFPaddProperty()functionormethod.
Thismakesiteasierforthedevelopertoaddpropertieswithouttakingcarewhetherit'llbesavedornot;note:thisappliestoobjectsonly,nottoclasses-youneedtoexplicitelylisttheclasspropertiestobesavedin.
wcPropSave.
Ifthevalueofsomepropertiesneverchangeinthecourseofuser'saction,addthemtothe.
wcPropSaveNotlist.
Youcaneasilyeditthe.
wcPropSaveNotlistofagivenobjectusingawPublic.
prg!
.
wcPropSaveNotEdit()","Nouvellepropriété.
wcPropSaveNot:listedespropriétéspropresàl'objetquinedoiventpasêtresauvegardées.
Pourfaciliterledéveloppement,FoxInCloudsauvepardéfautl'étatdespropriétésajoutéesauxobjetssoitdansl'IDEsoitenutilisantlafonction/méthodeVFPaddProperty();note:cecivautpourlesobjetsseulement,paspourlesclassesoùilfautlisterexplicitementlespropriétésàsauvegarderdans.
wcPropSave.
Sivoussavezquelavaleurd'unepropriéténechangejamaispendantl'actiond'unutilisateur,ajoutez-laàlaliste.
wcPropSaveNot.
Vouspouvezéditerfacilementlaliste.
wcPropSaveNotd'unobjetdonnégrceàlafonctionawPublic.
prg!
.
wcPropSaveNotEdit(01-31-19",,"255""2.
20.
0","08-08-19","01-13-19","Enhancement",,"FoxInCloud.
js","Listbox:.
Mouse*()eventsfirethesameasinVFPonallbrowsers.
Previously,onallbrowsersexceptIE,whenmouseflewoverinside,mouseOverandmouseOuteventswouldhavefiredattheelementlevel,andmouseMove()wouldnotfireon.
","Listbox:lesévénementsMouse*()sedéclenchentdanslenavigateurdelamêmefaonquedansVFP.
Précédemment,surtouslesnavigateurssaufIE,ausurvoldesàl'intérieurdes,desévénementsmouseOveretmouseOutsedéclenchaientauniveaudu,etmouseMovenesedéclenchaitpassurles01-13-19",,"254""2.
20.
0","08-08-19","01-10-19","Enhancement",,"aw.
vcx!
awFrm","OnMasterForms,awCmdOK.
Click()returnstopreviousWebpageor,onolderbrowsers,toApplicationHomepageOnChildforms,awCmdOK.
Click()closestheformandexecutesthecall-backmethodifany.
","SurlesFormulairesPrincipaux,awCmdOK.
Click()ramèneàlapageWebprécédenteou,surlesnavigateursplusanciens,àlapaged'accueildel'application.
Surlesformulairesenfants,awCmdOK.
Click()fermeleforumlaireetexécutelecaséchéantlaméthodederappel(call-back)01-10-19",,"253""2.
20.
0","08-08-19","12-31-18","Fix",,"FoxInCloud.
js","Modalchildformnolongercenterinpageiflargerthanbrowserviewport.
Formsitsinthetopleftcornerofviewport.
","Lesformulaireenfantmodauxnesontpluscentréss'ilssontplusgrandquel'espacedisponible.
Danscecas,leformulaireseplacedanslecoinsupérieurgauchedelasurfacevisible.
252""2.
20.
0","08-08-19","12-12-18","Enhancement",,"awHTMLawAJAX","Column.
resize()supportedontheserver","Column.
resize()supportésurleserveur",,,,,,"12-12-18",,"248""2.
20.
0","08-08-19","12-12-18","Enhancement",,"aw.
vcx!
awGrd","InWebmode,awGrd.
AutoFit()makescolumns15%widerthaninVFPAscharactersareslightlywiderinthebrowser,evenusingthesamefont,this15%allowanceavoidsellipsiswhenpartofthecolumnishidden","EnmodeWeb,awGrd.
AutoFit()ajouteenviron15%enlargeurauxcolonnesdelagrille.
Commelescaractèressontlégèrementpluslargedanslenavigateurqu'enVFP(aveclamêmepolicedecaractères),cettelargeursupplémentaireévited'afficherdespointsdesuspensionlorsqu'unepartiedelacolonneestmasquée.
12-12-18",,"249""2.
20.
0","08-08-19","12-04-18","Enhancement",,"awHTML","grid.
RecordSourceorderedwithanindex:indexcollationsequenceisrespectedSofarawHTMLwouldalwaysassumeindexcollationsequencewas'Machine':e.
g.
,usinga'General'collationsequence,upper-caselettersweresortedbeforelower-caseletters.
Nowthegrid'srowsaresortedwiththepropercollationsequencelikeindesktopmode.
","grid.
RecordSourceordonnéavecunindex:laséquencedecollationdel'indexestrespectéeJusqu'àprésent,awHTMLfaisaitl'hypothèsequel'indexordonnantleslignesd'unegrilleétaitélaboréencollation'Machine':parex.
lesmajusculesétaienttriéesavantlesminuscules.
Désormaislagrillerespectebienl'ordredecollationdel'indexcommeenmodedesktop.
12-04-18",,"246""2.
20.
0","08-08-19","12-03-18","Fix","Sig.
MicheleBosetti","awMenu","Menunolongerdisappearswhenusersessionexpires","Lemenunedispararatpluslorsquelasessiondel'utilisateurs'achève.
245""2.
20.
0","08-08-19","11-29-18","Fix","M.
GillesLajot-Sarthou","awHTMLFoxInCloud.
js","nButtonprovidedto.
Mouse*()eventsPreviouslythe'nButton'1stparameterto.
Mouse*()eventmethodswasalwayssetto-1.
Reminder:only.
MouseDown()and.
MouseUp()areeligibletobeprocessedonserver.
OthermouseeventsshouldbeprocessedbythebrowserusingJavaScript","nButtonpasséauxévénements.
Mouse*()Précédemment,lepremierparamètre'nButton'desméthodesd'événementVFP.
Mouse*()étaittoujoursrégléà-1;ilestmaintenantconformeàlaspec.
VFP.
Rappel:seulslesévénements.
MouseDown()et.
MouseUp()peuventêtretraitésparleserveuravecdestempsderéponseraisonnables;lesautresévénements.
Mouse*()réclamentpluttuntraitementparlenavigateuraumoyendecodeJavaScript.
243""2.
20.
0","08-08-19","11-29-18","Enhancement",,"awHTML","Whenimplemented,.
RightClick()nolongerfiresthedefaultbrowsercontextmenuWhenRight-Clickingcontrols,objectsandgrid,browsercontextmenunolongerappearswhenyourcodeimplements.
RightClick(),oneitherclient/browserorserver/appside.
","Siimplémenté,.
RightClick()n'affichepluslemenucontextueldunavigateurLorsd'unclickdroitsurunélément(contrle,grilleouautreobjet)implémentantlaméthode.
RightClick(),quecesoitparducodeclient/navigateurouserveur/applicationVFP,lemenucontextueldunavigateurn'apparatplus.
244""2.
20.
0","08-08-19","11-28-18","Fix","M.
GillesLajot-Sarthou","awHTML",".
Click(),.
MiddleClick()and.
RightClick()nolongerconfusedingridcolumnheadersandcellsPreviously,.
Click()implementedinagridcellorthegriditselfwouldfirewhenuserdida.
middleClick()ora.
rightClick().
AsActiveWidgetsimplements.
Click(),.
MiddleClick()and.
RightClick()withthesinglemethod.
onCellClicked()[similarlytotheHTMLusingasingleevent.
click()],theJavaScriptthatawHTMLgeneratesfor.
onCellClicked()nowteststhebuttonactuatedontheHTMLeventobjectbeforeprocessingtheevent.
",".
Click(),.
MiddleClick()et.
RightClick()différenciésdanslesen-têtesetlescellulesdegrillesPrécédemment,si.
Click()étaitimplémentésurunecelluledegrilleousurlagrilleelle-même,ilétaitaussidéclenchélorsquel'utilisateuractionnaitleboutoncentraloudroitdelasouris.
CommeActiveWidgetsimplémente.
Click(),.
MiddleClick()et.
RightClick()aveclaseuleméthode.
onCellClicked()[conformémentaumodèleHTMLDOMeventquin'utilisequelaméthode.
click()],leJavaScriptquegénèreawHTMLtesteleboutonindiquédansl'objeteventHTMLavantd'exécuterl'événement.
242""2.
20.
0","08-08-19","11-20-18","Fix","M.
GillesLajot-Sarthou","awAppHost.
prg","""File'.
.
.
\awfrmmb_ini.
dbf'doesnotexist""errorfixed.
ThiserrorusedtooccurwhencallingawPublic.
prg!
wMessageBox()inproductionWebmode.
Testedsuccessfullyonhttp://ctb.
wanagain.
net","Résolutiondel'erreur""Lefichier'.
.
.
\awfrmmb_ini.
dbf'n'existepas""Erreurseproduisantlorsdel'appeldeawPublic.
prg!
wMessageBox()enmodeWebdeproduction.
Testéavecsuccèssuronhttp://ctb.
wanagain.
net.
241""2.
20.
0","08-08-19","11-20-18","Enhancement","Sig.
MicheleBosetti","awServer.
prgawHTML.
prg","Renderclosebuttoninmodalformstitlebarwithcall-back.
Sofarmodalformscalledwithcall-backdidnothaveaclosebuttoninthetitlebar:becauseonlythe'OK'commandbuttoncouldclosethemodalchildformandfirethecall-backmethodontheparentform.
Theclosebuttonnowappearsonmodalformsand,whenclicked,firesthefollowingmethods(ifimplemented):-child_form.
QueryUnload()-child_form.
QueryUnloadCallBack()-ifchild_form.
QueryUnload()orchild_form.
QueryUnloadCallBack()return.
T.
,parent_Form.
wFormCallBack*().
ImplementedandtestedsuccessfullyonFiCtutorial:modifyform(home(1)+""tools\ab\aw\samples\fic\fictuto\progs\forms\userchoice.
scx"")","Formulairesmodauxavecméthodederappel(call-back):leboutondefermeturedanslabarredetitrefonctionneenmodeWebcommeenmodedesktop.
Jusqu'icilesformulairesavecméthodederappel(call-back)étaientdépourvusdeboutondefermeturefautedesavoirappelerconvenablementlaméthodederappel.
Désormais,pourlesformulairesmodauxappelésavecméthodederappel,leboutondefermetureestrendudanslabarredetitreet,sil'utilisateurleclique,exécutelesméthodessuivantessiellessontimplémentées:-form_enfant.
QueryUnload()-form_enfant.
QueryUnloadCallBack()-Siform_enfant.
QueryUnload()ouform_enfant.
QueryUnloadCallBack()retourne.
T.
,form_parent.
wFormCallBack*231""2.
20.
0","08-08-19","11-14-18","Enhancement","MrToreBlekenMrJimNelson","aw.
vcx","PEMeditornolongercrashes(bufferoverrun)whenopeningclassesofaw.
vcx,orderivedfromaw.
vcx,orbasedonaw.
vcxIna*.
cx,LPARAMETERSstatementslongerthan255characters(includingspacesandcomments)crashaMembers()withbufferoverrun(seehttps://vfpx.
codeplex.
com/wikipagetitle=Thor%20TWEeT%2023formoreinformation).
AllLPARAMETERSstatementslongerthan255charactersinaw.
vcxshortenedtolessthan255characters.
Tip:Toseeaw*.
Methoddocumentationfromwithinyourapplication,justclick'ViewParentCode'informorclassdesignercodewindow.
","Plusd'erreurfatale(bufferoverrun)dePEMeditorenouvrantdesclassesdeaw.
vcx,oudérivéesdeaw.
vcx,oubaséessuraw.
vcx.
Dansun*.
cx,lesinstructionsLPARAMETERSdontlalongueurexcède255caractères,espacesetcommentairesinclus,provoquentundépassementdecapacitédetampon('bufferoverrun')surlafonctionaMembers()(touslesdétailssurhttps://vfpx.
codeplex.
com/wikipagetitle=Thor%20TWEeT%2023).
Dansaw.
vcx,touteslesinstructionsLPARAMETERSontétéramenéesendessousduplafondde255caractères.
Astuce:pourlireladocumentationd'uneméthodedeaw.
vcx!
aw*,cliquezlebouton'voirlecodeparent'touteunefenêtredecodedel'éditeurdeclasse/écran.
240""2.
20.
0","08-08-19","11-06-18","Enhancement",,"awHTMLgen","ColorCSSattributenolongergeneratedforBaseclassAsinHTML5colorinitialvalueshouldbeblack,colorattributeisnolongergeneratedtoblackforbaseclasssothatcustomthemessuchjQueryUI'sbetterapply","L'attributCSScolorn'estplusgénérépourlesclassesdebaseCommelacouleurHTML5pardéfautestblack,cettecouleurn'estplusgénéréepourlesclassesdebaseafindemieuxsupporterlesthèmesspécifiquescommeceuxdejQueryUI"239""2.
20.
0","08-08-19","11-06-18","Enhancement",,"aw\App","Newfolder…\tools\ab\aw\App\Sample\Checkthisfolderforsampleelementsthatyoucanadapttoyourapplication'sspecifics","Nouveaudossier…\tools\ab\aw\App\Sample\Voustrouverezdanscedossierdesélémentsquevouspouvezadapterauxparticularitésdevotreapplication.
238""2.
20.
0","08-08-19","11-06-18","Enhancement",,"awMenu","Menuseparatorpadsaremorevisibleifyouaddaseparatorpadinamenubar(prompt='\-'),it'llbeclearlyvisibleinHTMLrendering","LespadsdeséparationdemenusontplusvisibleSivousajoutezunpadséparateurdansunebarredemenu(prompt='\-'),ilseraclairementvisibleenHTML"237""2.
20.
0","08-08-19","11-06-18","Enhancement","Sig.
MicheleBosetti","awPublic.
prg!
wForm()","Likeaw.
vcx!
awFrm.
wForm(),awPublic.
prg!
wForm()supportsclassesanddelayed.
noShow()/Show()YoucannowpassaclassnameasFirstparameterofwForm(),andgetareferencetotheformusingwFormNoShow(),interactwithform'sPEMsasyouseefit,andlatercallwFormShow()toshowtheformineitherdesktoporwebmode.
","Commepouraw.
vcx!
awFrm.
wForm(),awPublic.
prg!
wForm()supportelesclasses,etl'affichagedifféréduformulairepar.
show()Vouspouvezmaintenantpasserlenomd'uneclassedeformulairecommepremierparamètredewForm().
VouspouvezaussiobteniruneréférenceauformulaireavecwFormNoShow(),interagiravecsesPEMssinécessaire,puisl'afficherenappelantwFormShow(236""2.
20.
0","08-08-19","11-06-18","Enhancement","Sig.
MicheleBosetti",,"Supportfordisplay:inline-blockonmenuandformcontainersInordertoavoidspacingand/orlinebreakswhenusingdisplay:inline-block,xxxProcess.
wFormStandardPage*()nolongeraddsHTML'whitespace'(space,tabulation,carriagereturn,linefeedcharacters)betweenandNote:thecssdirective""white-space:nowrap;""providesthesameresult.
","Supportdedisplay:inline-blocksurlemenuetleconteneurdeformulaireAfind'éviterunblancvisuelet/ouunretouràlaligneenutilisantdisplay:inline-block,xxxProcess.
wFormStandardPage*()n'ajouteplusdeblancausensHTML(caractèrestelqueespace,tabulation,sautdeligne,retourchariot)entreetNote:ladirectivecsswhite-space:nowrap;procurelemêmerésultat"235""2.
20.
0","08-08-19","11-01-18","Enhancement","MrAndréTauté","SampleIndex.
scx","SampleIndexformAnynewappbuiltwithFoxInCloudinheritsaSampleIndexformthatdevelopercanmimictobuilditsown.
Tip:samplecodefilesforyourapplicationarelocatedin:[pathtoVFP9]\tools\ab\aw\app\sample\","FormulaireIndexmodèleChaquenouveauprojectFoxInCloudaunformulaireindexpardéfautdontledéveloppeurpeuts'inspirerpourconstruirelesien.
Astuce:lesfichiermodèlespourvotreapplicationsontdans:[dossierdeVFP9]\tools\ab\aw\app\form\233""2.
20.
0","08-08-19","10-28-18","Enhancement","MrTuviaVinitsky","awHTML.
prg","youcanoverrideGrid.
SelectedRowcolorsinxxx.
cssFromawDefault*.
css,removedthe'!
important'directiveandaddedformIDintheselectorsothatitcanbeoverriddenbyanyothercustomdirective","LescouleursdeGrid.
SelectedRowpeuventêtresurchargéesdansxxx.
cssDansawDefault*.
css,avonssuppriméladirective'!
important'etajoutél'IDduformulairedansleselecteurdefaonàpouvoirsurchargerpard'autresdirectivesdansxxx.
css.
232""2.
20.
0","08-08-19","10-16-18","Supportextension","Sig.
MicheleBosetti","awHTML.
prg","form.
ScrollBars>0supportedWhenform.
ScrollBars>0,FoxInCloudApplicationServerautomaticallygeneratesthecorresponding'overflow'CSSdirective.
","form.
ScrollBars>0supportéSiform.
ScrollBars>0,FoxInCloudgénèreautomatiquementladirectiveCSS'overflow'correspondante.
230""2.
20.
0","08-08-19","10-15-18","BehaviorChange",,"awAppHost","StartingFoxInCloudApplicationServerinproductionmoderequiresvalidcustomerandlicenseIDsMakesuretofillyourFoxInCloudandwConnectIDsinxxxTest|Prod.
inibeforestartingyourFASinproductionmode(asa.
exe,eitherinFileorCOMmode).
FormoreinformationonwhereyoucanfindtheseIDs,checkoutVFP9\tools\ab\aw\app\xxxTest.
iniReminder:if,forwhateverreason,yourFAScouldnotstart,http://.
.
.
/FoxInCloud-status.
xxxtellsyouthereasonwhy.
","Pourdémarrerenmodeproduction,leServeurd'ApplicationFoxInCloudrequiertdesidentifiantsclientetdelicencevalides.
AvantdedémarrervotreServeurFoxInCloudenmodeproduction(entantque.
exe,quecesoitenmodefichierouenmodeCOM),assurez-vousdereportervosidentifiantsFoxInCloudetwConnectdanslefichierdeconfigurationduserveur(xxxTest|Prod.
ini).
DansVFP9\tools\ab\aw\app\xxxTest.
inivoustrouverezlalistedesIDrequisetlesindicationscommentlesretrouver.
Rappel:sipouruneraisonquelconquevotreFASn'apaspudémarrer,latransactionhttp://.
.
.
/FoxInCloud-status.
xxxvousendonnelaraison.
229""2.
20.
0","08-08-19","10-11-18","Enhancement",,"awServer.
prgawAJAX","Restorationtimes(ms)aredetailedinform-userstatetables,attheproperty,datasessionandaliaslevelsform-userstatetablesarestoredinyourapplication'stempfolder;YoucaneasilyUSEandBROWSEthesetables;datasessionrestoretimesaredetailedatthealiaslevelinthecorrespondingrecord,column'PV'(memo).
ThesefigurescangreatlyhelpyouoptimizeyourWebapplication.
Whenyourapplicationisinproduction,youcanatanytimedownloadaspecificform-userstatetablebyrunningawServer.
prg!
awUserPropsTableGet()-seealsothistemplateprogram:\Tools\AB\AW\App\Progs\xxxTest.
UserPropsTableGet.
prg","Lestempsderestaurationsontdétaillésdanslestablesd'étatécran-utilisateur,auniveaudechaquepropriété,delasessiondedonnéesetdesalias.
LeServeurd'ApplicationFoxInCloudstockelestablesd'étatécran-utilisateursdanssondossierTemp\.
VouspouvezfacilementUSEetBROWSEcestables;lestempsderestaurationindividuelssontindiquésdanslacolonnenRms;lestempsderestaurationdelasessiondedonnéessontdétaillésdansleXMLstockédanslacolonne'PV'delaligne'DataSession'.
Ceschiffressontdesaidesprécieuxpouroptimiservotreapplication.
Quandvotreapplicationestenproduction,vouspouvezàtoutmomenttéléchargerlatabled'étatd'uncoupleutilisateur-écranenexécutantawServer.
prg!
awUserPropsTableGet()-vouspouvezvousécrireunutilitaireselonlemodèle:\Tools\AB\AW\App\Progs\xxxTest.
UserPropsTableGet.
prg"228""2.
20.
0","08-08-19","10-09-18","Fix",,"FoxInCloud.
js","Mouseandkeyboardeventswon'tfireinlistsrenderedbyHTMLissuefixed","LesévénementsdesourisetdeclaviernesedéclenchentpasdansleslistesrenduesparenHTMLproblèmeréglé227""2.
20.
0","08-08-19","10-05-18","Fix","MrAndySwartz","aw.
vcx!
awOLEPDF*","ObjectsbasedonawOLEPDF*,renderedwiththeAcrobatReaderactiveXobjectinthebrowser(mainlyusingIE)mightbeerroneouslyvisibleissuefixed","LesobjetsbaséssurawOLEPDF*,rendusdanslenavigateuraumoyendel'activeXAcrobatReader(principalementsurIE),peutrestervisible.
problèmeréglé226""2.
20.
0","08-08-19","10-02-18","Fix",,"FoxInCloud.
jsaw.
vcx!
awFrm","SupportissuesforIE8fixed-JSerrorwhenclosingmodaldialog(membernotfound)-emptyafterAJAXupdate","DéfautsdesupportIE8réglés:-ErreurJavaScriptau.
Click()d'unboutondefermeturedeformulaire-videsaprèsunemiseàjourAJAX"225""2.
20.
0","08-08-19","09-12-18","Enhancement",,"FoxInCloud.
jsawAppHostawAJAXaw.
vcx!
awFrm","xxxFrm.
wViewPortWidth|HeightprovidesviewportdimensionsinbothdesktopandWebmodesUsetheseproperties,youcanadjustyourforms'dimensionsandpositionanywhereinyourcode,egin.
Init(),.
Refresh(),etc.
","xxxFrm.
wViewPortWidth|HeightdonnelesdimensionsinternesdelafenêtreenmodesdesktopetWebEnutilisantcespropriétés,vouspouvezréglerladimensionet/oulapositiondevotreformulairepartoutdansvotrecode,parexempledans.
Init(),.
Refresh(),etc.
224""2.
10","09-19-18","09-03-18","Supportextension","Sig.
MicheleBosetti","awServer","ChangingpageFrame.
Width|Heightsupported","LechangementdepageFrame.
Width|Heightestsupporté223""2.
10","09-19-18","09-03-18","Fix","Sig.
MicheleBosetti","awServer","DynamicCSSproperlyassignedwhenopeningachildformincludingsomedynamiccontainer","LaCSSdynamiqueestgénéréecorrectementquandonouvreunformulaireenfantcontenantquelqueconteneurdynamique"222""2.
10","09-19-18","08-22-18","Supportextension",,"awProps.
dbf","Supportforlabel.
alignmentchangingduringthecourseofauserrequest","Leschangementsdelabel.
alignmentsontsupportés"221""2.
10","09-19-18","08-12-18","Supportextension",,"aw.
vcx!
awGrdawHTML","awGrc.
DynamicToolTipTextprovidesrow-dependentToolTipTextinWebmodeFoxInCloudintroducesthisweb-specificpropertythatproducesdynamicToolTipTextsinWebmode-implementinasimilarfashionasother.
Dynamicpropertiessuchas.
DynamicFontName.
.
.
Important!
youneedtousetheawPublic.
prg!
awGrc(orasub-class)asyougridcolumnclassbysettingyourgrid's.
MemberClassand.
MemberClassLibraryaccordingly.
","awGrc.
DynamicToolTipTextproduitdesbullesd'aidevariantselonleslignesdelagrilleenmodeWeb.
FoxInCloudintroduitunenouvellepropriétédecolonnequiproduitdesdesbullesd'aidepouvantvarierselonlesdonnéesdelalignecourantedelagrilleenmodeWeb.
Cettepropriétés'implémenteàlamanièredesautrespropriétés.
Dynamic*detypecaractère,aumoyend'uneexpressiondetypeiIf()ouiCase().
Remarqueimportante:pourdisposerdecettefonctionnalité,vousdevezutiliserawPublic.
prg!
awGrc(ouunesous-classe)commeclassedecolonnepourvotregrille,enrenseignantlespropriétés.
MemberClasset.
MemberClassLibrary.
220""2.
10","09-19-18","08-09-18","Supportextension",,"aw.
vcx!
awGrdawHTML","SupportforColumn.
DynamicCurrentControl.
DynamicCurrentControlisnowsupportedautomatically;beawarethatthisfeaturerequiresmorebrowser-sideprocessings,soyoushouldmakesurethatthenumberofrowsinthegridisreasonable,saybelow200.
","Column.
DynamicCurrentControlestsupportéLapropriétédecolonnedegrille.
DynamicCurrentControlestsupportée;sachezquecettefonctionnalitédemandeplusdecalculscténavigateuraussiilvautmieuxs'assurerd'unnombredelignelimité,depréférencemoinsde200.
219""2.
10","09-19-18","06-24-18","Enhancement",,"awPublic.
prgxxxSets.
prg","NewawSetsenvironmentclassawPublic.
prg!
awSetsisano-brainerenvironmentclassthattheLAN(desktop)andWebversionsofyourapplicationcansharetoconvenientlysettheapplicationVFPenvironment.
awSetsautomaticallyrestoressettingswhenyourapplicationunloads,veryconvenientduringyourdevelopmentjourney.
Formoredetails,seethemoduleslistedabove.
","Nouvelleclassed'environnementawSetsLaclasseawPublic.
prg!
awSetsfacilitelesréglagesd'environnementpourlesversionsLAN(desktop)etWebdevotreapplication,etrestaureautomatiquementlesréglagesinitiauxlorsquevotreapplications'arrête,cequiestparticulièrementutileencoursdedéveloppement.
Pourplusdedétailsconsultezlecodesourcedesmodulesimpactésci-dessus"213""2.
10","09-19-18","06-24-18","Enhancement",,"awAppConfigxxxTest|Prod.
ini","Newconfigsetting.
lSupportLinkInFormCaptionWhenyourapplicationrunsinproduction,turningthisconfigurationoptionto.
T.
('On'in'Editconfigfiles'online)addsasupportlinktoformcaptionbar;thissupportlinkhelpsuserreportissuesaboutyourWebApplication.
Note:supportlinkappearsonlywhenuserisidentified,IOWhasloggedintoyour(Web)application.
","Nouvelleoptiondeconfiguration.
lSupportLinkInFormCaptionQuandvotreapplicationestenproduction,enréglantcetteoptionà.
T.
('On'dansl'interfacedemodificationdesfichiersdeconfigurationaccessibledepuislapaged'administrationwConnect),FASajouteunliendesupportdanslabarredetitredechaqueformulaire.
Note:leliendesupportn'apparatquesil'utilisateurestidentifiéparvotreapplicationWeb.
212""2.
10","09-19-18","06-04-18","BehaviorChange",,"aw.
vcx!
awFrm","awFrm.
wViewRequery_post()signatureupgradedAdded2parameterstoawFrm.
wViewRequery_post(),makesureyoursub-classacceptthefollowingparameters:tcView&&Viewjustrequery()'d,success&&successofrequery()(.
T.
/.
F.
),nError&&if!
m.
success,@errorthatoccurred,cMessage&&if!
m.
success,@errormessage","LasignaturedeawFrm.
wViewRequery_post()estenrichie2nouveauxparamètresajoutésàawFrm.
wViewRequery_post();vérifiezquevotrecodeensous-classeacceptelesparamètressuivants:tcView&&Vuerequey,success&&succèsdurequery()(.
T.
/.
F.
),nError&&if!
m.
success,@erreurproduite,cMessage&&if!
m.
success,@errormessage"210""2.
10","09-19-18","06-04-18","Enhancement",,"FoxInCloud.
jsawHTML.
prg","pageFrametabslayoutimproved1-Indevelopmentmode,whenCSSisgenerateddynamically,tabsarebetterarrangedwhenformdisplaysforthefirsttime(inproductionmode,usingglobalstylesheetawDefaultAll.
css,thisissuedoesnotoccur).
2-theinitialtabsorderrespectspage.
pageOrder","Dispositiondesongletsdepageaméliorée1-Enmodedéveloppement,lorsquelaCSSestgénéréedynamiquement,lesongletssontmieuxdisposéslorsdel'affichageinitialduformulaire(enmodeproduction,lorsquel'applicationutiliselafeuilledestyleawDefaultAll.
cssgénéréeparxxxTest|Prod.
css.
prg,ceproblèmen'existepas).
2-ladispositioninitialedesongletsrespectepage.
pageOrder"211""2.
10","09-19-18","06-04-18","FixBehaviorchange",,"FoxInCloud.
jsawHTML.
prg","PageFrametabsnolongerjustifyifnotjustifiedinVFPMakesuretomatchFoxInCloud.
jsandFAStoversion2.
10+","Lesongletsdepagenejustifientques'ilssontjustifiésdansVFPAssurez-vousqueFoxInCloud.
jsetvotreFASsonttousdeuxàlamêmeversion2.
10+209""2.
10","09-19-18","06-17-18","Optimization",,"awHTML.
prg","FastergridJSgenerationForformhavingmanygridsand/orgrid(s)havingalargenumberofcolumns,generatingJSforchangesis40-60%faster","GénérationdeJSpourgrilleplusrapidePourlesformulairesayantdenombreusesgrilleset/oudesgrillesayantungrandnombredecolonnes,lagénérationduJavaScripttraduisantleschangementsdanslescolonnesestde40à60%plusrapide.
208""2.
10","09-19-18","06-17-18","Optimization",,"awHTML.
prg","HTMLgenerationupto3timesfasterIncasetheobjectsandcontrolsinyourformshaveaheavyclassinheritence,HTMLgenerationisupto3timesfaster","GénérationdeHTMLjusqu'à3foisplusrapideAucasoùlesobjetsdevosformulairesontunhéritagedeclassesimportant,lagénérationdeHTMLestjusqu'à3foisplusrapide.
207""2.
10","09-19-18","06-14-18","Fix",,"awMenu.
prg","Dynamicmenuupdatessuchasadd|removepad|bar|popup.
.
.
MenuelementsandattachedONKEYeventsareproperlyadded|removed|modified","Misesàjourdemenudynamiquescommeadd|removepad|bar|popupLesélémentsdemenuscorrespondantssontajoutés,supprimésouremplacéscorrectement,ainsiquelesévénementsONKEYattachés"206""2.
10","09-19-18","06-14-18","Supportextension",,"awHTML.
prg","Relationsin|intogrid.
RecordSourcesupported-Relationintogrid.
RecordSource:recordsarefilteredaccordingly-Relationingrid.
RecordSourceintoalias:fieldsinrelatedalias(es)thatare.
controlSourceofacolumnareread","Lesrelationsin|intogrid.
RecordSourcesontsupportés-Relationintogrid.
RecordSource:lesenregistrementssontfiltrés-Relationingrid.
RecordSourceintoalias:leschampsdel'aliasenrelationquisont.
controlSourced'unecolonnesontlus"205""2.
10","09-19-18","06-14-18","Enhancement",,"abDev.
prgawServer.
prg","awProcess.
oCoverage()deprecatedinfavoroffunctionabDev.
prg!
oCoverage()Tostartacoveragelogginganywhereinyourapplication,justissuethis:oCoverage=oCoverage([[,[,]]])Formoredetailsandoptions,modifycommandabDev","awProcess.
oCoverage()remplacéparlafonctionabDev.
prg!
oCoverage()Pourlancerunetraced'exécutionentoutendroitdevotreapplication,ajoutezsimplementcetteinstruction:oCoverage=oCoverage([[,[,]]])Pourplusdedétailsetoptions,modifycommandabDev"204""2.
10","09-19-18","06-04-18","Enhancement",,"FoxInCloud.
jsxxx.
js","NewFoxInCloud.
jsconfigurationoptionsseethesenewoptionsin\tools\ab\aw\app\site\xxx.
js(taggedbyversion)","NouvellesoptionspourFoxInCloud.
jsvoirlesnouvellesoptionsdans\tools\ab\aw\app\site\xxx.
js(marquéesdun°deversion)202""2.
10","09-19-18","06-03-18","Supportextension",,"FoxInCloud.
js","crtl+tabcyclesbetweenformsopeninbrowserWhenseveralmodelessformsareopeninthebrowser,pressingctrl[+shift]+tabcyclebetweenformsjustlikeintheVFPGUI.
","ctrl+tabparcourtlesformulairesouvertsdanslenavigateurQuandplusieursformulairesnon-modauxsontouvertsdanslenavigateur,lacombinaisondetouchesctrl[+shift]+tabmetsuccessivementaupremierplanchaqueformulaire.
201""2.
10","09-19-18","05-30-18","Learning",,"awSetup","Sampledemoapp(s)includedBrowsetheseapplicationsandfindcodesamplesthatyoucanapplytoyourownapplication:-\Tools\AB\AW\Samples\FIC\FICtuto-MainFoxInCloudfeaturesandcodesamples-\Tools\AB\AW\Samples\FIC\FICdemo-On-linemessagingapplicationoptimizedforsmartphone-\Tools\AB\AW\Samples\Tastrade-Typicalbusinessapplication","Application(s)exemplesParcourezcesapplicationsettrouvezdesexemplesdecodeapplicablesàvotrepropreapplication:-\Tools\AB\AW\Samples\FIC\FICtuto-Principalesfonctionnalitésetcasd'adaptationdeFoxInCloud-\Tools\AB\AW\Samples\FIC\FICdemo-forumenligneoptimisépoursmartphone-\Tools\AB\AW\Samples\Tastrade-applicationbusinesstypique"15""2.
10","09-19-18","05-30-18","Supportextension","MrTuviaVinitsky","FoxInCloud.
jsxxx.
js","Customizableclient-sideerrormessagesYoucannowcustomizethemessagesuserseesincaseofanerroroneitherclientorserver;pleaseseeimplementationdetailsin\tools\ab\aw\app\site\xxx.
js","Messagesd'erreurpersonnalisablesctéclientVouspouvezmaintenantpersonnaliserlesmessagesprésentésàl'utilisateurencasd'erreurctéclientouserveur;voirlesdétailsd'implémentationdans\tools\ab\aw\app\site\xxx.
js"200""2.
10","09-19-18","05-28-18","BehaviorChange",,"aw.
prg","cImageWeb()signaturechangedThisisasimplewarningasyourcodeprobablynevercallsthecImageWeb()function;however,Parametersusedtobe:(1)tcImgVFPaddr,;&&{en}VFPImage(nameoraddress)(2)tcSiteImageFolder,;&&{en}Website'simagefolderPHYSICALaddress(3)tnImgW,;&&@{en}Imagewidthinpixels(4)tnImgH,;&&@{en}Imageheightinpixels(5)toGDIplusasgpImageofffc\_GDIplus.
vcx&&[NewObject('gpImage','_GDIplus.
vcx')]Parametersarenow:(1)tcImgVFPaddr,;&&{en}VFPImage(nameoraddress)(2)tcSiteImageFolder,;&&{en}Website'simagefolderPHYSICALaddress(3)toGDIplusasgpImageofffc\_GDIplus.
vcx,;&&[NewObject('gpImage','_GDIplus.
vcx')](4)tnImgW,;&&[none]@{en}Imagewidthinpixels(5)tnImgH&&@[none]{en}Imageheightinpixels","LasignaturedecImageWeb()estmodifiéeCeciestunsimpleavertissementdanslamesureoùvotrecoden'appelleprobablementjamaiscettefonction;toutefois,Lesparamètresétaient:(1)tcImgVFPaddr,;&&{fr}ImageVFP(nomouadresse)(2)tcSiteImageFolder,;&&{fr}AdressePHYSIQUEdudossierimagesduSiteWeb(3)tnImgW,;&&@{fr}Largeurdel'imageenpixels(4)tnImgH,;&&@{fr}Hauteurdel'imageenpixels(5)toGDIplusasgpImageofffc\_GDIplus.
vcx&&[NewObject('gpImage','_GDIplus.
vcx')]Ilsdeviennent:(1)tcImgVFPaddr,;&&{fr}ImageVFP(nomouadresse)(2)tcSiteImageFolder,;&&{fr}AdressePHYSIQUEdudossierimagesduSiteWeb(3)toGDIplusasgpImageofffc\_GDIplus.
vcx,;&&[NewObject('gpImage','_GDIplus.
vcx')](4)tnImgW,;&&[none]@{fr}Largeurdel'imageenpixels(5)tnImgH&&@[none]{fr}Hauteurdel'imageenpixels"199""2.
10","09-19-18","05-24-18","Supportextension",,"aw.
vcxawAJAX","'Cursoradapter'BaseClass,includingdataupdate,issupportedMakesureyourcodecallsdodefault()attheendofthesemethods:-attheendof.
BeforeCursorFill():dodefault(m.
luseCursorSchema,m.
lNoDataOnLoad,m.
cSelectCmd)-attheend.
BeforeCursorRefresh():dodefault(m.
cSelectCmd)","Laclassedebase'Cursoradapter'etlesmisesàjourdedonnéessontsupportésAssurez-vousquevotrecodeappelleDodefault()àlafindecesméthodes:-àlafinde.
BeforeCursorFill():dodefault(m.
luseCursorSchema,m.
lNoDataOnLoad,m.
cSelectCmd)-àlafinde.
BeforeCursorRefresh():dodefault(m.
cSelectCmd)65""2.
10","09-19-18","05-24-18","Fix",,"FoxInCloud.
js","EventsnolongerbubbletoparentcontainerWhenanevent(e.
g.
.
Click())isimplementedinaparentcontainerandnotinoneofitsmember,triggeringthiseventinthemembernolongerfirestheeventintheparentcontainer.
Example:-thisform.
container.
click()implemented-thisform.
container.
button.
click()notimplementedclickingthebuttonnolongerfiresthisform.
container.
click()","Lesévénementsnesepropagentplusau(x)conteneur(s)parent(s)Quandunévénement(parecx.
.
click())estimplémentédansunobjetconteneuretpasdansundesesmembres,ledéclenchementdel'événementsurlemembreneledéclencheplussurleconteneurparent.
Exemple:-thisform.
container.
click()estimplémenté-thisform.
container.
button.
click()n'estpasimplémentéUnclicksurleboutonnedéclencheplusthisform.
container.
click(198""2.
10","09-19-18","05-24-18","Fix",,"awHTML.
prgFoxInCloud.
js",".
Click(),.
MiddleClick()and.
RightClick()nolongerconfusedAnyoftheabove.
*Click()eventnowproperlyfiresinWebmode.
",".
Click(),.
MiddleClick()et.
RightClick()différenciésEnmodeWeb,lesévénements.
*Click()ci-dessussontcorrectementidentifiés.
197""2.
10","09-19-18","05-17-18","Supportextension",,"FoxInCloud.
jsaw.
vcx!
awFrmawAJAX","form.
QueryUnload()eventsupportedWheneveruserclicksthe'redX'buttonintheform'sheaderbar,andform.
QueryUnload()isimplementedinthatform,itexecutesonserverside.
Ifform.
QueryUnload()expectsadecisionfromtheuserthroughamodaldialogform(egwMessageBox(,,4)),exclusivelyuseform.
QueryUnloadCallback()asCallbackmethodtothisform.
Makesureform.
QueryUnload()/form.
QueryUnloadCallback()return.
T.
whenformshouldclose,.
F.
otherwise.
Makesureform.
QueryUnload()alwaysreturns.
F.
wheneverform.
QueryUnloadCallback()isinvolved.
Inform.
QueryUnload(),youcanuseform.
ReleaseTypeWebtoknowwhetheraWebusertriggeredtheaction:ifthisForm.
wlWebandthisForm.
ReleaseTypeWeb=1&&webuserclickedtheclosebox","L'événementform.
QueryUnload()estsupportéQuandl'utilisateurclickeleboutondefermetured'unécranenfant(croixrougeengénéral)etquelaméthode.
QueryUnload()duformulaireVFPestimplémentée,celle-cis'exécutesurleserveur.
Sivotreméthode.
QueryUnload()doitdemanderconfirmationàl'utilisateuraumoyend'unformulairemodal(ex.
wMessageBox(,,4)),utilisezexclusivementlaméthode.
QueryUnloadCallBack()commeméthodecall-backdeceformulaire.
Assurez-vousqueform.
QueryUnload()/.
QueryUnloadCallBack()retourne.
T.
ou.
F.
selonqueleformulaireestautoriséàsefermerounon.
Assurez-vousqueform.
QueryUnload()retournetoujours.
F.
quand.
QueryUnloadCallBack()estutilisé.
Dansform.
QueryUnload(),vouspouvezutiliserform.
ReleaseTypeWebpoursavoirsil'utilisateuraferméleformulaireaumoyendelacroix:ifthisForm.
wlWebandthisForm.
ReleaseTypeWeb=1&&unutilisateurWebaclickélacroixduformulaire"53""2.
10","09-19-18","05-17-18","Enhancement",,"awHTML.
prg","ThemedCommandbuttonsupportedWhenevertheseconditionsaremet:Sys(2700)='1'and_screen.
themesandform.
Themesandcommandbutton.
themesandempty(commandbutton.
picture),CommandButtonisrenderedwithdefaultbrowserstyle(dependingonthebrowsersettings)","LesboutonsdecommandeavecthèmessontsupportésQuandcesconditionssontremplies:Sys(2700)='1'and_screen.
themesandform.
Themesandcommandbutton.
themesandempty(commandbutton.
picture),lesboutonsdecommandesontprésentésdanslestylepardéfautdunavigateur.
196""2.
10","09-19-18","05-16-18","Enhancement",,"awAppHost.
prgawUserAppEnv.
prg","_Screen.
ActiveForm-akawActiveForm()-availableforrequestsoutsideofformsWheneveruserhitarequestoutsideofaform(egonamenuitem),wActiveForm()returnsareferencetotheformonwhichuserhasmadehis/herlatestaction.
Forinstance,youcancallwActiveForm()inamenuonpadorbarpad|bar.
.
.
commandevenifitcallsaprogram.
Thisfeaturerequires:xxxServer.
lAppUserEnvSave=.
T.
","_Screen.
ActiveForm-aliaswActiveForm()-estdisponiblepourlesrequêtesendehorsdesformulaires.
Quandl'actiondel'utilisateursesitueendehorsd'unformulaire(parex.
surunélémentdemenu),wActiveForm()retourneuneréférenceaudernierformulairesurlequell'utilisateuraréaliséuneaction.
Cecivouspermetd'appeleruneméthoded'unformulaireoud'undesesmembresdansunecommandeonselectionpad|baroudansuneprogrammequecettecommandeappelerait.
CettefonctionnaliténécessitederéglerxxxServer.
lAppUserEnvSave=.
T.
195""2.
10","09-19-18","05-13-18","Enhancement",,"aw.
prg","Bydefault,WebimagesaregeneratedfromApplicationimagesin.
pngformatFormerdefaultformatwas'gif'","Pardéfaut,lesimagesWebsontgénéréeàpartirdesimagesdel'applicationVFPauformat.
pngAuparavant,leformatpardéfautdesimagesgénéréesétait'gif'194""2.
10","09-19-18","05-08-18","Supportextension",,"awHTML.
prg","ChangingGrid.
ColumnCountatruntimeinWebmodeissupportedFormerly,changingGrid.
ColumnCountresultedinblankcolumnsinthebrowsergrid","LechangementdeGrid.
ColumnCountestsupportéàl'exécutionenmodeWebPrécédemment,lechangementdeGrid.
ColumnCountrésultatenunegrillevide"193""2.
10","09-19-18","04-18-18","Enhancement","v&u","FoxInCloud.
js","Form.
Deactivate()nolongerfiresinWebmodewhenpageunloadsThisavoidsa'networkerror'messagetoappearwhenthe.
deactivate()eventfiresfromthebrowserandserverresponsecan'tbeprocessedbecausetheHTMLpageisnolongerloaded.
","Form.
Deactivate()nesedéclenchepluslorsquelapageoùsetrouveleformulaireestdéchargéeCeciévitelasurvenued'uneerreurderéseaulorsquelenavigateurenvoiel'événementform.
deactivate()auserveuretlaréponsedecelui-cinepeutêtretraitéecarlapageémettricen'existeplus.
190""2.
10","09-19-18","04-18-18","Enhancement","v&u","aw.
vcx!
awFrm","newmethodawFrm.
wNavigate()Callthismethodasfollows:localsuccessasBoolean,resultasStringsuccess=thisForm.
wNavigate(@m.
result,''[,parameters.
.
.
])if!
m.
success,m.
resultcontainsthereasonwhy.
wNavigate()failed","nouvelleméthodeawFrm.
wNavigate()Appelezcetteméthodecommesuit:localsuccessasBoolean,resultasStringsuccess=thisForm.
wNavigate(@m.
result,''[,parameters.
.
.
])si!
m.
success,m.
resultcontientlaraisondel'échec"189""2.
10","09-19-18","04-11-18","Fix","v&u","FAA(awAdapter)",".
memberClassproperlyredirectedtoapplicationsub-classesSofar,youcouldhaveexperiencedsomeissues(likecaptionrevertedtodefault)inmembersofcontainerclasseshavingthe.
memberClass[Library]property(suchasPageFrame,OptionGroup,etc.
),especiallyincaseofheavysub-classing,and/oraddinginstancesofsuchclasstocompositeclasses.
Fixingthisissuehasbeenquiteahardproject,asitinvolvedalltheconceptofVFPOOPsuchascompositeclasses,additionalinstancesofmembersinsubclassesorinstancesofsub-classes.
Pleasenotethisfixappliesto.
vcxand.
scxonly;assupportingclassesdefinedin.
prgwillrequirescomplexcodeparsing,thisisunderway.
",".
memberClassbienredirigéesverslessous-classesdel'application.
Jusqu'àprésent,vousavezpurencontrerdesanomalies(commedes.
captionramenésàleurvaleurpardéfaut)danslesclassesayantlapropriété.
memberClass[Library](commePageframe,Optiongroup,etc.
),enparticulierdanslescasdesous-classageàplusieursniveauxavecl'augmentationde.
memberCount(.
pageCount,.
buttonCount,etc.
)danslessous-classesouleursinstances,parexempledansunform.
RésoudreceproblèmeademandéquelqueseffortscarcelaanécessitélamanipulationdesconceptsOOPdélicatscommelesous-classageetl'ajoutd'instancesdansdesclassescomposites.
Notezqueceproblèmeestrésolupourl'instantdansles.
vcxet.
scx,sarésolutionpourlesclassesdéfiniesdansles.
prgdemanderal'analysedel'instructiondefineclass,cequenousentreprendronsplustard,dèslorsqu'unnombresignificatifdeclientsenexprimentlebesoin.
188""2.
10","09-19-18","03-27-18","Enhancement",,"awHTMLaw.
vcx!
awTxtawServer","HTML5attributesfor-Textboxwithdateordatetimevaluesautomaticallymaptoantag-youcandefineanyotherHTML5typeinxxxTxt.
wcHTML5type(orinanysub-classorinstanceof)-Textbox.
ToolTipmapstotheHTML5placeholder=""""attributeifxxxTxt.
wlHTML5placeHolder=.
T.
(default)-youcanremoveHTML5attributesbysettingto.
F.
xxxServer.
lHTML5typeand/orxxxServer.
lHTML5placeHolder(defaultis.
T.
)","AttributsHTML5pour-lestextboxavecunevaleurdetypedateoudatetimesontgénéréesenHTMLpar-vouspouvezdéfinirtoutautreattributHTML5dansxxxtxt.
wcHTML5type(oudansunesous-classeouuneinstance)-Textbox.
ToolTipgénèrel'attributHTML5placeholder=""""sixxxTxt.
wlHTML5placeHolder=.
T.
(défaut)-vouspouvezempêcherlaproductiondecesattributsHTML5enréglantà.
F.
xxxServer.
lHTML5typeet/ouxxxServer.
lHTML5placeHolder(.
T.
pardéfaut)185""2.
10","09-19-18","03-21-18","Enhancement",,"aw.
vcx!
awImgGetFile","HTML5AJAXfileuploadusingjQueryFileUploadSofar,FoxInCloudsupportedAJAX-stylefileuploadusinganAdobeFlashcomponentnamed'SWFupload'.
NowFoxInCloudgeneratesaJavaScriptthatautomaticallydetectsifclientbrowsersupports'real'AJAXfileupload,andimplementsconsequently.
ThisfeaturerequiresjQuerytobeloadedwithyourapplicationbysettinxxxServer.
ljQueryAdd=.
T.
PleaseletusknowifyouneedtoimplementmoreoftheoptionsthatjQueryFileUploadprovides(https://github.
com/blueimp/jQuery-File-Upload/wiki/Options);wewillimplementtheseadditionaloptionsasaw.
vcx!
awImgGetFile.
properties","TéléchargementdefichiersenAJAXaumoyendejQueryFileUploadJusqu'àprésentFoxInCloudsupportaitletéléchargementmontantdefichierenutilisantuncomposantAdobeFlashnommé'SWFupload'.
Désormais,lescriptgénéréparFoxInClouddétectesurlenavigateursupporteletéléchargementparAJAX(nouveautéHTML5)et,sic'estlecas,l'implémenteaumoyendejQueryFileUpload.
Cettefonctionnaliténécessitetoutefoisd'autoriserlechargementdejQueryavecvotreapplicationenréglantxxxServer.
jQueryAdd=.
T.
Sivousaveebesoind'autresoptionsoffertesparjQueryFileUpload(https://github.
com/blueimp/jQuery-File-Upload/wiki/Options),veuilleznouslefairesavoir,nouslesimplémenteronscommedespropriétésdeaw.
vcx!
awImgGetFile"184""2.
10","09-19-18","03-15-18","Enhancement",,"awServer","Userreceivesanalert()whenhis|hersessionhasexpiredSofar,whenausersessionhasexpired,browserwassentbacktohomepagewithoutnotice.
Nowuserreceivesanalert()messagetellinghimwhat'sgoingon:""Yoursessionhasexpired,sitewillnowreturntohomepageforyoutologbackin""","L'utilisateurreoitunalert()JavaScriptquandsasessionaexpiréJusqu'àprésent,lorsquel'utilisateurfaisaituneactionalorsquesasessionavaitexpirésurleserveur,FoxInCloudleramenaitàlapaged'accueilsansautreexplication.
Désormais,unealert()JavaScriptl'informecommesuit:""Votresessionaexpiré,vousallezêtreredirigéverslapaged'accueilpourvousré-identifier"183""2.
10","09-19-18","03-07-18","Enhancement",,"aw.
vcx!
awFrm","awFrm.
wViewParmSet()/.
wViewsRequery()When4thparameterissetto.
T.
(requery),.
wViewParmSet()returnsthesameresultasRequery():1ifthedataissuccessfullyretrieved;otherwise0.
","awFrm.
wViewParmSet()/.
wViewsRequery()Quandson4èmeparamètreestrégléà.
T.
(requérirlavue),.
wViewParmSet()retournelemêmerésultatquerequery():1silesdonnéesontétéretrouvéesavecsuccès,sinon0"180""2.
10","09-19-18","02-26-18","Enhancement",,"aw.
vcx!
awFrm","awFrm.
wViewParmSet()/.
wViewsRequery().
wViewsRequery()restoresSet(""Deleted""),Set(""ANSI"")andSet(""SQLbuffering"")asitwasat.
wViewParmSet()","awFrm.
wViewParmSet()/.
wViewsRequery().
wViewsRequery()restaureSet(""Deleted""),Set(""ANSI"")etSet(""SQLbuffering"")dansl'étatoùilétaità.
wViewParmSet(179""2.
10","09-19-18","02-20-18","Enhancement",,"aw.
vcx!
awFrm","awFrm.
wViewsSetup()Allviewparametersarenowdetected:-this[form[set]].
xxx[.
.
.
xxx]propertyreferences-_Screen|_VFP.
xxx[.
.
.
xxx]propertyreferences-alias.
fieldoralias->field-expressionsinvolvingoperatorssuchasIN(parm1,m.
parm2,.
.
.
),LIKE,etc.
","awFrm.
wViewsSetup()Détectiondetouslesparamètresdesvues:-this[form[set]].
xxx[.
.
.
xxx]référencedepropriété-_Screen|_VFP.
xxx[.
.
.
xxx]référencedepropriété-alias.
fieldoualias->field-expressionsincluantdesfonctionsetopérateurstelsqueIN(parm1,m.
parm2,.
.
.
),LIKE,etc.
178""2.
10","09-19-18","02-16-18","Enhancement",,"aw.
vcx!
awCntCarousel","CarouselforLANandWebmodesCarouselisaverypopularfeatureinWebapplications,i.
e.
todisplayacollectionofimages.
Justdropaw.
vcx!
awCntCarouselorasub-classonyourformandvisuallyaddwithintheelementsyouwanttoslideon:images,buttons,checkboxesoranythingelse.
Thiscarouselwillworkthesameinbothmodes.
Youcantestthiscarouselhere:http://foxincloud.
com/demotest/(justprovideyouremail)","CarousselenmodesLANetWebLeCarousselestundispositiftrèssouventutilisésurlessitesweb,parexemplepourafficherunelongueséried'imagesetpouvoirenchoisirrapidementune.
Vouspouvezmaintenantdisposerdecettefonctionnalitésendéposantunesous-classedeaw.
vcx!
awCntCarouselsurvotreformulaire,etenajoutantlesobjetsàprésenterdansleconteneurintérieur:images,boutons,etc.
Vouspouveztestercecarousselici:http://foxincloud.
com/demotest/(entrezvotreemail)186""2.
10","09-19-18","02-12-18","Enhancement","M.
GillesLajot-Sarthou","awServer","Supportforform.
Width|Height|Left|TopchangesinWebmode","Supportdeschangementsdeform.
.
Width|Height|Left|TopenmodeWeb"182""2.
10","09-19-18","02-11-18","Enhancement",,"aw.
vcx!
awTmrAnimation","AnimationTimerDropthistimerorasubclasstoyourformsurfaceandcallthe.
start()methodtoanimatethemovementofanyformmemberfromonelocationtoanother.
Moreinformationinaw.
vcx!
awTmrAnimation.
Start()sourcecode","Timerd'animationPlacezcetimerouunesous-classedansvotreformulaireetutilisezlamethode.
start()pouranimerledéplacementd'unmembreduformulaired'unpointàunautre.
Plusd'informationdanslecodesourcedeaw.
vcx!
awTmrAnimation.
Start(187""2.
10","09-19-18","02-06-18","Fix","M.
GillesLajot-Sarthou","awAJAX","wMessageBox()nolongerthrowsanerrorandfailstodisplaywhenfirstusedafterserverrestartawAJAXnowchecksforminitialstateexistsondisktoconsiderformisalreadyinstantiated.
","wMessageBox()neprovoqueplusd'erreurets'affichebienàlapremièreutilisationaprèsleredémarrageduserveurDésormais,awAJAXvérifiequel'étatinitialduformulaireexistesurledisquepourconsidérerqueleformulaireadéjàétéinstancié181""2.
10","09-19-18","01-25-18","Enhancement",,"aw.
vcx","Code.
Refresh()in.
Refresh_()Formerly,developerhadtotestforthisform.
wlPropsRestoreatthebeginningof.
Refresh()code.
Now,codecansimplybewrittenin.
Refresh_()withouttakingcareofanythingspecial.
Callsto.
Refresh()shouldremainunchanged:FoxInClouddispatchesto.
Refresh_()automatically.
.
Refresh_()supportsparameters,bindevent()andreturnedvalue.
Codewrittenthepreviouswayremainssupported.
","Coder.
Refresh()dans.
Refresh_()Précédemment,ledéveloppeurdevaittesterthisForm.
wlPropsRestoreaudébutdesoncodede.
Refresh().
Désormais,ilpeutsimplementécriresoncodedans.
Refresh_()sanssesoucierd'autrechose.
Lesappelsà.
Refresh()restentinchangés:FoxInCloudassurel'appelde.
Refresh_()automatiquement.
.
Refresh_()supportelesparamètres,bindevent()etlavaleurretournée.
Lecodeécritselonl'ancienneméthodedemeuresupporté177""2.
10","09-19-18","01-24-18","Fix",,"awAppHost","Inproductionmode,formandcontainedcontrolsnow.
Refresh()successfullyafter.
Init()and.
Show()likeinusualdesktopVFPbehavior","Enmodeproductionleformulaireetsescontrlescontenusexécutent.
Refresh()avecsuccèsaprès.
Init()et.
Show()commedanslecomportementVFPdesktop"176""2.
10","09-19-18","01-16-18","Supportextension",,"awAJAXawHTML","Optionbutton.
Style=1andCheckbox.
Style=1(graphical)with.
Picturearesupported.
RequiresjQueryUI;seethesexxxServer.
properties:xxxServer.
ljQueryAdd,xxxServer.
ljQueryUIadd,xxxServer.
cjQueryUItheme","Optionbutton.
Style=1etCheckbox.
Style=1(graphical)avec.
Picturesontsupportés.
NécessitejQueyUI;voircespropriétésdexxxServer:xxxServer.
ljQueryAdd,xxxServer.
ljQueryUIadd,xxxServer.
cjQueryUItheme"175""2.
10","09-19-18","01-01-18","Enhancement",,"aw.
vcx!
awTxtawHTML","JavaScriptDatePickersupportIf,atdesigntime,(Vartype(awTxt.
Value)='D'or'D'$awTxt.
format)andawTxt.
wlDatePickerandxxxServer.
wljQueryUIAdd,FASautomaticallyassignsajQueryUIdatePickertothetextbox.
Bydefault,FASsetslanguageanddateformatsaccordingtothebrowserfirstpreferredlanguage,Englishifthislanguageisnotprovidedorsupported.
YoucancustomizeyourdatePicker'sbehaviorusingthefollowingproperties:-.
woDatePickerOptions:setaseitheraVFPemptyobjectwithpropertiesmatchingthoseexpectedbydatepicker.
setDefaults()[assignedinthis.
Init()],oraJavaScriptobjectlitteralsuchas{option1:value1,option2:value2,.
.
.
}[assignedatdesigntimeorinthis.
Init()]-.
wdFrom,.
wdTo:setdynamicallyinyourcodetolimitthedaterangeusercanselect.
YoucanalsocustomizedatePickerappearenceusingjQueryUIglobaltheme(xxxServer.
cjQueryUItheme),oradditionalCSSdirectivesinxxx.
css(alldetailsonjQueryUIdatePickerAPI-suchasoptions,methodsandevent-athttp://api.
jqueryui.
com/datepicker/)","SupportducalendrierJavaScriptSi,audesign,(Vartype(awTxt.
Value)='D'ou'D'$awTxt.
format)etawTxt.
wlDatePickeretxxxServer.
wljQueryUIAdd,FASassigneautomatiquementuncalendrieràlacasedetexte.
Pardéfaut,FASrèglelelanguageetleformatdesdatesselonlapremièrelanguepréféréedunavigateurdel'utilisateur,l'anglaispardéfaut.
Vouspouvezréglerlecomportementdevotrecalendrieraumoyendespropriétéssuivantes:-.
woDatePickerOptions:réglezsoitcommeunobjetVFPayantpourpropriétéscellesattendurspardatePicker.
setDefaults()[àfairedansthis.
Init()],oucommeunlittéralobjetJavascripttelque{option1:value1,option2:value2,.
.
.
}[régleràlaconceptionoudansthis.
Init()].
-.
wdFrom,.
wdTo:réglezdynamiquementdansvotrecodepourlimiterlesdatesquel'utilisateurpeutsélectionner.
Vouspouvezpersonnaliserl'apparencedevotrecalendrierenréglantlethèmejQueryUI(xxxServer.
cjQueryUItheme),et/oupardesdirectivesCSSadditionellesdansxxx.
css(touslesdétailssurl'APIducalendrierjQueryUIsurhttp://api.
jqueryui.
com/datepicker/:options,méthodesetévénements)174""2.
10","09-19-18","12-14-17","Supportextension",,"aw.
js","ActiveWidgetversion2.
6.
4ProvidessupportforWindows8andIE11","ActiveWidgetversion2.
6.
4ProcurelesupportdeWindows8etIE11.
172""2.
10","09-19-18","12-14-17","Enhancement",,"awAJAXaw.
vcx!
awFrm","form.
wFormMaster()&wFormMaster()acceptaformnameasparameterthisform.
wFormMaster()andawPublic.
prg!
wFormMaster()nowacceptany'form.
scx'asfirstparameterevenifnoxxxProcess.
form()methodexists","form.
wFormMaster()&wFormMaster()acceptentunnomdeformulaireenparamètrethisform.
wFormMaster()etawPublic.
prg!
wFormMaster()acceptenttout'form.
scx'enpremierparamètremêmesiaucuneméthodexxxProcess.
form()n'existe"173""2.
10","09-19-18","12-12-17","BehaviorChange",,"aw.
vcx","awCnt:.
Width_Assign()and.
Height_Assign()removed.
Ifyourcontainerobjectsrelyon.
Width_Assign()and.
Height_Assign(),makesureyouaddthesemethodsinanyofyoursubclassofaw.
vcx","awCnt:.
Width_Assign()et.
Height_Assign()supprimées.
Sivosobjetsconteneursnécessitentlesméthodes.
Width_Assign()et/ou.
Height_Assign(),assurez-vousdelescréerdansunedevossous-classedeaw.
vcx"171""2.
00","12-02-17","11-20-17","Supportextension","Sr.
DavidAcuaGuzmán","awServerFoxInCloud.
js","Supportforpage.
deactivate()page.
deactivate()nowfiresinWebmode","Supportdepage.
deactivate()page.
deactivate()sedéclenchedésormaisenmodeWeb"9000""2.
00","12-02-17","11-20-17","Supportextension","Sig.
MicheleBosetti","awServerFoxInCloud.
js","SupportfornXcoord,nYcoord*.
MouseDown()et*.
MouseUp()parametersarepassedinWebmode.
","nXcoord,nYcoordsupportésLesparamètresde*.
MouseDown()et*.
MouseUp()sontrenseignésenmodeWeb"9001""2.
00","12-02-17","10-31-17","Learning",,"\tools\ab\aw\Samples\*.
*FAA","SampleapplicationsAfterinstallingFoxInCloudApplicationServer(FAAstep3-Publish),you'llfindsampleapplicationsin\tools\ab\aw\samples\.
Youcanreviewcodeprovided.
Innextversion,sampleapplicationswillinstallautomaticallysothatyoucanletthemrunonhttp://localhost/","ApplicationsexemplesAprèsinstallationdeuServeurd'ApplicationsFoxInCloud,Voustrouverezdesapplicationsexemplesdans\tools\ab\aw\samples\.
Vouspouvezrevoirlecodefourni.
Dansuneprochaineversion,cesapplicationss'installerontautomatiquementetvouspourrezlesfairefonctionnerenmodeWebsurhttp://localhost/9002""2.
00","12-02-17","10-18-17","Supportextension",,"awAppHostawMenuFAA(awAdapter)","VFPsystemandshortcutmenusupport*.
mnx/*.
mprandmenucodearenowsupported.
Totakeadvantageofthisnewfeature,youneedto:1/includeyour*.
mnxmenufilesinyourproject,andaddtheirpathtoSET('PATH')inxxxSets.
prg2/(re)adaptyourprojectsothat*.
mnxgetadapted-afteradaptation,inyourONSELECTIONprocedurecodesnippetsyou'llseeanyDOFORMcommandadaptedaswForm().
AnymenucodeelsewhereinyourapplicationbeingadaptedaswMenu(.
.
.
).
ForformsthatyouwanttodisplayinafullHTMLpage,replacewForm()bywFormMaster()[wForm(),wFormMaster()andwMenu()areinawPublic.
prg].
3/(re)generateyourmenus-asFoxInCloudVFPinifile(aw*.
fpw)haschangedyourmenugeneratorintoab\awMenuGen.
prg,generatingyourmenuwillproducewMenu()instructionsinsteadoftheregularmenucommands.
4/addyouDOyourMenu.
mpranywhereneeded,especiallyinxxxSets.
prg.
FoxInCloudmenusystemisdynamicjustlikeVFPmenusystem,inotherwordsre-evaluatetheSKIPFORandSETMARKclausesaftereachuseractionontheapplication.
Wheneveryouwanttoseethe(veryfew)supportlimitations,pleaseBROWSEaw\awMenu*.
dbf.
Youcanalsogetafeedbackonnon-supportedfeaturesbypassingasecondparameterbyreferencetowMenu:wMenu([menucommandorfunction],@m.
result);formoreinformation,reviewdocumentationinawPublic.
prg!
wMenu().
FoxInCloudmenuimplementationreliesonjQuery&jQueryUI;tomakesureyourFoxInCloudWebapplicationincorporatesjQuery&jQueryUI,reviewthesexxxServerproperties:.
ljQueryAdd,.
ljQueryUIadd,.
cjQueryUItheme.
","SupportdesmenusVFPsystèmeetcontextuels.
*.
mnx/*.
mpretlescommandesetfonctionsdemenusontmaintenantsupportés.
Pourbénéficierdecettepossibilité,vousdevez:1/inclurevosfichiersdemenu*.
mnxdansvotreprojetetajouterleurchemindedossierdansxxxSets.
prg(SETPATHTO.
.
.
ADDITIVE),2/(ré)adaptervotreprojetafinquevos*.
mnxsoientadaptés-aprèsadaptationvousverrezquelesDOFORMdansvosprocéduresONSELECTIONsontremplacésparwForm();lescommandesetfonctionsdemenuailleursdansvotreapplicationsontadaptéespardesappelsàwMenu().
PourlesformulairesquevousvoulezafficherdansunepageHTMLcomplète,remplacezmanuellementwForm()parwFormMaster().
[wForm()etwMenu()sontdansawPublic.
prg];3/(ré)générervosmenus-commelefichierdeconfigurationFoxInCloudaw*.
fpwchangelegénérateurdemenuenawGenMenu.
prg(_genmenu),votre*.
mprgénérécomporteradesinstructionswMenu()aulieudescommandesdemenutraditionnelles;4/ajouterlesinstructiondomonMenu.
mprpartoutoùc'estnécessaire,enparticulierdansxxxSets.
prgpourlemenuinitial.
LesmenusFoxInCloudestdynamiquecommelesystèmeVFP,end'autrestermeslesclausesSKIPFORetSETMARKsontréévaluéesàchaquerequêtepourmettrelemenuàjourcommeilsedoit.
Pourconnatreles(quelques)limitescourantesdesupport,vouspouvezparcourirlestablesaw\awMenu*.
dbf.
VouspouvezaussiobtenirenretourlesavertissementsdesupportenpassansunsecondparamètreparréférenceàwMenu():wMenu([commandeoufonctiondemenu],@m.
result).
Pourplusd'informations,veuillezconsulterladocumentationdansawPublic.
prg!
wMenu().
LesmenusFoxInCloudreposentsurjQuey&jQueyUI;pourvousassurerquevotreserveurimplémentejQueyetjQueyUI,revoyezcespropriétésdexxxServer:.
ljQueryAdd,.
ljQueryUIadd,.
cjQueryUItheme.
9003""2.
00","12-02-17","10-11-17","Supportextension",,"aw.
vcxawAJAXawHTMLFAA","AllcomboBox.
RowSourceTypeandListBox.
RowSourceTypearesupported(sofardynamiclistswerelimitedto.
RowSourceType=5&&array).
Makesurethat,beforeyoureassign.
rowSourceorcall.
requery(),youreset.
rowSourceTypetowhatevervalueyouuse;eg:myCombo.
rowSource=''SELECT.
.
.
INTOCURSORmyCursormyCombo.
rowSourceType=2&&AliasmyCombo.
rowSource='myCursor'.
myCombo.
rowSourceType=3&&SQLquerymyCombo.
Requery()Also,ifyouimplementthe.
requery()method,makesuretocalldodefault()attheendofyourcode.
Hereisalivedemoofthisfeature:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=RowSourceType.
scx","TouslescomboBox.
RowSourceType&ListBox.
RowSourceTypesontsupportés(jusqu'icileslistesdynamiquesétaientlimitéesà.
RowSourceType=5&&Array).
Veuillezvousassurerque,avantd'assignerunnouveau.
rowSourceouappeler.
Requery(),vousredéfinissez.
rowSourceTypeàlavaleurvoulue;parex.
:maCombo.
rowSource=''SELECT.
.
.
INTOCURSORmyCursormaCombo.
rowSourceType=2&&AliasmaCombo.
rowSource='myCursor'maCombo.
rowSourceType=3&&SQLquerymaCombo.
Requery()Sivousimplémentezlaméthode.
requery(),assurez-vousd'appelerdodefault()àlafindevotrecode.
Vouspouveztestercettenouvellepossibilitéici:http://foxincloud.
com/tutotest/wFormStandardPage.
tutoawForm=RowSourceType.
scx"9004""2.
00","12-02-17","10-03-17","Supportextension",,"awAppHostawAppUserEnvFAA","PUBLICvariables,_Screen.
properties,_VFP.
propertiesaresavedandrestoredforeachuseroneachrequest.
Impactonresponsetime:saving1000publicvars+publicArray[2000]tookus10msintheIDE(atleast2timesslowerthatCOMmode).
ThisfeatureneedsbeoptimizedthroughthefollowingxxxServer.
properties:.
lAppUserEnvSave,.
lPublicVariablesAllAtStartup,.
cPublicVariablesObjectSave,.
_ScreenPropertiesSave,.
_ScreenPropertiesSaveNot,.
_VFPpropertiesSave,.
_VFPpropertiesSaveNot.
Youcanalsofilteroutpages(methods)andusersthatrequiresavingtheapplicationenvironmentbyimplementingxxxProcess.
lAppUserEnvSave()Pleasereaddocumentationaboutthesenewpropertiesandmethodsin\Tools\AB\AW\App\Progs\xxxServer.
prg.
","LesvariablesPUBLIC,_Screen.
properties,_VFP.
properties,sontsauvéesetrestauréesautomatiquementpourchaqueutilisateuràchaquerequête.
Impactsurletempsderéponse:lasauvegardede1000variablespublic+publicArray[2000]apris10msdansl'IDE(aumoins2foispluslentquelemodeCOM)LemodedesauvegardepeutêtreoptimiséaumoyendecespropriétésdexxxServer:.
lAppUserEnvSave,.
lPublicVariablesAllAtStartup,.
cPublicVariablesObjectSave,.
_ScreenPropertiesSave,.
_ScreenPropertiesSaveNot,.
_VFPpropertiesSave,.
_VFPpropertiesSaveNot.
Vouspouvezaussifiltrerlespagesetutilisateursquinécessitentlasauvegardedel'environnementdel'applicationenimplémentantxxxProcess.
lAppUserEnvSave().
Mercidelireladocumentationdecesnouvellespropriétésetméthodesdans\Tools\AB\AW\App\Progs\xxxServer.
prg.
9005""2.
00","12-02-17","09-20-17","Supportextension",,"awAJAXawHTML","Optionbutton.
Style=1andCheckbox.
Style=1(graphical)aresupported.
RequiresjQueryUI;seethesexxxServer.
properties:xxxServer.
ljQueryAdd,xxxServer.
ljQueryUIadd,xxxServer.
cjQueryUItheme","Optionbutton.
Style=1etCheckbox.
Style=1(graphical)sontsupportés.
NécessitejQueyUI;voircespropriétésdexxxServer:xxxServer.
ljQueryAdd,xxxServer.
ljQueryUIadd,xxxServer.
cjQueryUItheme"9006""2.
00","12-02-17","08-15-17","Supportextension",,"awPublic.
prgFAA","DisplayaformfromastandaloneprocedureorfunctionawPublic.
prg!
wForm()andwFormMaster()toallowyoudisplayaforminLANandWebmodefromanindependentprocedureorfunction,oramethodofanobjectthatisnotamemberofaform(fromaformmembermethod,usethisForm.
wForm()andthisForm.
wFormMaster()instead).
Inwebmode:-wForm()displaystheforminaseparatewindowinthecurrentHTMLpage-wFormMaster()displaystheforminnewHTMLpage.
ThesefunctionsacceptthesameparametersasawFrm.
wForm()andawFrm.
wFormMaster(),exceptthat,asmodalstatesarenotsupported,thesecondparameterislimitedto.
T.
formodaland.
F.
formodeless.
Bydefault,FoxInCloudAdaptationAssistantreplacesDOFORMinindependentproceduresandfunctionsbywForm();youmaychangethatintowFormMaster()wheneveryouseefit.
","Afficherunformulairedepuisunprocédureoufonctionindépendante.
awPublic.
prg!
wForm()andwFormMaster()vouspermettentd'afficherunformulaireenmodeLANouWebdepuisuneprocédureoufonctionindépendante(depuisuneméthoded'unformulaireoumembredeformulaire,appelezthisForm.
wForm()outhisForm.
wFormMaster()).
EnmodeWeb:-wForm()afficheleformulairedansunefenêtreindépendantedanslapageHTMLcourante;-wFormMaster()afficheleformulairedansunenouvellepageHTML.
LesparamètressontlesmêmesquepourawFrm.
wForm()etawFrm.
wFormMaster(),saufquelaméthodecall-backn'estpassupportée.
Pardéfaut,l'assistantd'adaptationremplaceDOFORMdanslesprocéduresetfonctionsindépendantesparwForm(),quevouspouvezchangeraprèsadaptationenwFormMaster(9007""2.
00","12-02-17","08-14-17","Fix",,"FoxInCloud.
jsawProcessawServer","FoxInCloud's$()functioncompatiblewithPrototypeandjQuerydeprecated!
$()isgivenbacktoPrototype.
jsbyjQuery.
noConflict()YouneedtocalljQuery()orwrap$()callsinaself-executingfunction.
FoxInCloud.
jswarnsyouifeveryourcodemistakenlycalls$()thejQueryway.
PleasenotethatthefollowingpropertiesweremovedfromxxxProcesstoxxxServer:.
ljQueryAdd,.
ljQueryUIadd,.
cjQueryUItheme","LafonctionFoxInCloud$()compatibleavecPrototypeetjQueryestdépréciée!
$()estrendueàPrototypeparjQuery.
noConflict().
VousdevezappelerjQuery()ouinclurevosappelsà$()pourjQuerydansunefonctionauto-exécutable.
FoxinCloud.
jsvousinformesivotrecodeappelleparerreur$()aveclasyntaxejQuery.
PrenezgardequelespropriétéssuivantesontétédéplacéesdexxxProcessdansxxxServer:.
ljQueryAdd,.
ljQueryUIadd,.
cjQueryUItheme"9008""2.
00","12-02-17","08-13-17","Learning",,"aw.
vcxFAA","aw.
vcx!
aw*.
EventMethods()documentationimprovedandclarifiedToviewdocumentationfromwithinyourclassesorobjectsEventMethodcodesnippets,simplyclickthenativeVFPbutton'Viewparentcode'","Documentationdeaw.
vcx!
aw.
EventMethods()amélioréeetclarifiéePourvoirladocumentationdepuisunefenêtredecoded'événementdevosobjetsouclasses,cliquezsimplementleboutonnatifVFP'Voirlecodehéritédelaclasseparent'9009""2.
00","12-02-17","08-03-17","Enhancement","Sig.
MicheleBosetti","awProcess","ListofconnectedusersinFoxInCloudstatuspage.
.
.
/FoxInCloud-Status.
xxx:addedthelistofuserscurrentlyconnectedtoapplication;ToknowhowtoreplaceusersIDbyfullname,pleasereviewsamplexxxProcessimplementationinawServer.
prg!
awProcess.
wUserName()","ListedesutilisateursconnectésdanslapagedestatutduserveurFoxInCloud.
.
.
/FoxInCloud-Status.
xxx:ajoutéunelistedesutilisateursconnectésàl'application.
PoursavoircommentremplacerlesIDdesutilisateursparleurnomcomplet,mercideconsulterl'exempledecodedansawServer.
prg!
awProcess.
wUserName(9010""2.
00","12-02-17","07-30-17","Productivity","MrTuviaVinitsky","awHTMLawDefaultAll.
css","awDefaultAll.
cssisdynamicindevelopmentformsandobjectsCSSdirectives(basedonids,notclasses)areupdatedwheneveraforminstantiatesinIDE,developmentmode;thisavoidsrunningxxxTest|Prod.
css.
prgbeforeuploadingasetofminormodificationstoform(s).
However,-asnewdelimitersarerequiredinawDefaultAll.
cssforthisfeaturetowork,youneedtorunxxxTest|Prod.
css.
prgbeforehand.
-runningxxxTest|Prod.
css.
prgisstillrequiredwheneveryourmodifythevisualaspectofanyclassinvolvedintheapplication","awDefaultAll.
cssestdynamiqueendéveloppementlesdirectivesCSSdesformulairesetdeleursmembressontmisesàjourautomatiquementchaquefoisqu'unformulaireestinstanciédansl'IDEenmodedéveloppement.
CeciévitededevoirexécuterxxxTest|Prod.
css.
prgpourdesmodificationsmineures;toutefois,-commedenouvellesbalisessontnécessairesdansawDefaultAll.
css,vousdevezexécuterxxxTest|Prod.
css.
prgpréalablement,-vousdeveztoujoursexécuterxxxTest|Prod.
css.
prgencasdemodificationvisuelledesclassesdel'application.
9011""2.
00","12-02-17","07-23-17","Enhancement","MrTuviaVinitsky","awHTML","awDefault*.
css:FormmembersaresortedbyID","awDefault*.
css:lesmembresdesformulairessontdésormaistriésparID,ordrealphabétique"9012""2.
00","12-02-17","06-08-17","Learning","MrTuviaVinitsky","awProcess","awProcess.
cawJSinc()documentedtoexplainhowtoworkaroundthedeprecationoffoxincloud.
*.
inc","awProcess.
cawJSinc()documentéepourexpliquercommentcontournerl'abandondefoxincloud.
*.
inc"9013""2.
00","12-02-17","05-24-17","Optimization","M.
GillesLajot-Sarthou","awServer","MoredetailsonuserformstatesaveandrestoreForm-userstatesavetables(.
\Temp\___*.
*):added2newfieldsholdingsaveandrestoretimeforeachproperty:nSmsandnRms.
awProcess.
FoxInCloud_Status()willlaterusethesedataforFASserverperformancediagnosticandoptimizationrecommendations.
","Plusdedétailssurlestempsdesauvegardedel'étatdesformulairesTablesdesauvegardedel'étatdesformulairesparutilisateur(.
\Temp\___*.
*):2nouveauxchampsoùsontstockésletempsdesauvegardeetrestaurationdechaquepropriété:nSmsandnRms.
awProcess.
FoxInCloud_Status()utiliseraplustardcesdonnéespouranalyserlesperformancesduserveuretrecommanderdesactionsd'optimisation.
9014""2.
00","12-02-17","05-17-17","Optimization","M.
GillesLajot-Sarthou","awProcess","FoxInCloudApplicationServerstatuspageawProcess.
FoxInCloud_Status(),added:.
Tempfoldersaddressesandcontents.
ListofFormsandaliasesusedThisprovidesadetailedviewofyourFoxInCloudApplicationServerperformance;lateryou'llbeabletoshareorsendittoFoxInCloudsupportforoptimizationcoaching.
URLofthispage(wc.
inisecured):http://.
.
.
/FoxInCloud-Status.
xxxwhere'xxx'isyourapplicationcode.
","PagedestatutduserveurFoxInCloudawProcess.
FoxInCloud_Status(),ajouté:.
Adresseetcontenudesdossierstemporaires.
ListedesformulairesetdesaliasesouvertsCettepageprocureunbilancompletdesperformancesduserveurFoxInCloud;plustardellepourraêtrepartagéeouenvoyéeausupportFoxInCloudpouravis.
URLdecettepage(sécuriséeselonwc.
ini):http://.
.
.
/FoxInCloud-Status.
xxxoù'xxx'estlecodedevotreapplication.
9015""2.
00","12-02-17","05-17-17","Optimization","M.
GillesLajot-Sarthou","awServer","MoredetailsonresponsetimewwRequestLog:addednewcolumnsstoringexecutiondurationofeachstepofaFoxInCloudrequest:.
nInit:requestinitialization.
nRestore:userstaterestoration.
nApp:application.
nSave:userstatesave.
nChange:inventoryofchangesintheform.
nHTML:mappingchangesintoHTML.
nXML:mappingchangesintoXML.
nTotal:FoxInCloudApplicationServertotalNote:forrequeststhatdonothitFoxInCloudApplicationServer,thesefieldsare.
NULL.
awProcess.
FoxInCloud_Status()willlaterusethesedataforperformancediagnosticandoptimizationrecommendations.
","PlusdedétailssurlestempsderéponsewwRequestLog:nouveauxchampsoùsontstockéslestempsd'exécutiondechaqueétaped'unerequêteFoxInCloud:.
nInit:initialisationdelarequête.
nRestore:restorationdel'étatutilisateur.
nApp:application.
nSave:sauvegardedel'étatutilisateur.
nChange:inventairedeschangementsdansleformulaire.
nHTML:traductiondeschangementsenHTML.
nXML:traductiondeschangementsenXML.
nTotal:totalServeurd'ApplicationFoxInCloudNote:pourlesrequêtesquinetouchentpasleserveurd'applicationFoxInCloud,ceschampssont.
NULL.
awProcess.
FoxInCloud_Status()utiliseraplustardcesdonnéespouranalyserlesperformancesduserveuretrecommanderdesactionsd'optimisation"9016""2.
00","12-02-17","05-17-17","Enhancement","Sig.
MicheleBosetti","awHTML","Improvednumberformattingbasedon.
InputMask","Meilleurformattagedesnombresselon.
InputMask"9017""2.
00","12-02-17","05-16-17","Supportextension",,"aw.
vcx!
awGetFile|PictawProcessScripts\FoxInCloud.
jsScripts\SWFupload\*FAA","GetFile()andGetPict()supportAdded4classestosupportGetFile()andGetPict()inLANandWebmodes:-aw.
vcx!
awImgGetFile:GetFile()-aw.
vcx!
awCntGetFile:GetFile()withuploadprogressbar-aw.
vcx!
awImgGetPict:GetPict()-aw.
vcx!
awCntGetPict:GetPict()withuploadprogressbarAsWebfileuploadisprettycomplicated,pleasetakeabout1hourforanin-depthreviewofdocumentationinaw.
vcx!
awImgGetFile::wReadMe()","SupportdeGetFile()etGetPict()4nouvellesclassesquiapportentlesupportdeGetFile()etGetPict()enmodesLANetWeb:-aw.
vcx!
awImgGetFile:GetFile()-aw.
vcx!
awCntGetFile:GetFile()avecbarred'avancementdel'envoi-aw.
vcx!
awImgGetPict:GetPict()-aw.
vcx!
awCntGetPict:GetPict()avecbarred'avancementdel'envoiLetéléchargementdefichiersenmodewebestassezcomplexe,veuillezconsacreraumoins1heureàlireattentivementladocumentationdansaw.
vcx!
awImgGetFile::wReadMe(9018""2.
00","12-02-17","05-16-17","Learning",,"aw.
vcxFAA","Createdaw.
vcx!
aw.
wReadMe()forclassdocumentation","Créélesméthodesaw.
vcx!
aw.
wReadMe()pourladocumentationdelaclasse"9019""2.
00","12-02-17","04-26-17","Productivity",,"FAA(awAdapter)","WarnuserthatFAAneedsberunasadministrator","Avertirl'utilisateurquel'Assistantd'Adaptationsoitêtreexécutéavecdesprivilègesd'administrateur.
9020""1.
30","05-02-17","04-17-17","Enhancement","M.
Jean-PerreBataille","aw.
vcx!
awImgawHTML","SupportforhoverpictureinbothLANandWebmodes:Toimplementthissupport,justdefinethehoverpicturein.
wHoverPicture;makesureyoudefineafilenamethatcanbefoundinSet('Path')","Supportdel'imagedesurvolenmodesLANetWeb.
Pourimplémenterl'imagedesurvol,définissezlefichierimagedans.
wHoverPicture.
Assurez-vousquel'imagepeutêtretrouvéedansSet('Path'9021""1.
30","05-02-17","04-06-17","Enhancement",,"awServer","SupportforjQueryandjQueryUI,includedindistribution.
Youcanknowprocessclient-sideeventswiththemostpopularjavaScriptlibrary,jQuery,and/oruseanyofthewidgetsincludedinjQueryUI.
FoxInCloud.
jsincludesafunctionthatallowsusing$()ineitherthecontextofPrototype.
jsorthecontextofjQuery;youcanjustuse$()justlikeinanyjQueryorPrototypeproject.
FormoreinformationaboutjQuery,andfulldocumentation,pleasevisithttp://jquery.
com/","SupportdejQueryetjQueryUI,inclusdansladistribution.
VouspouvezdésormaistraiterlesévénementsclientsaveclabibliothèquejavaScriptlaplususitéeetconnue,jQuery.
Vouspouvezaussiincorporerles'widgets'inclusdansjQueryUIàvotreapplication.
FoxInCloud.
jsinclutunefonctionquipermetd'utiliser$()indifféremmentdanslecontextedePrototypeoujQuery;vouspouvezdoncutiliser$()ausensdePrototypeoujQuerysansvoussoucierdejQuery.
noConflict().
Pourplusd'informationàproposdejQuery,etunedocumentationcomplète,veuillezvisiterhttp://jquery.
com/9022""1.
30","05-02-17","03-21-17","Enhancement","Sig.
MicheleBosetti","awHTML","Supportforgrid.
Column[.
Text1].
formathaving'$ZR'","Supportdegrid.
Column[.
Text1].
formatcomprenant'$ZR'9023""1.
30","05-02-17","03-19-17","Learning","Sr.
FernandoEspinoza","FAA(awAdapter)","'AdaptingPUBLICvariables'-detailedexplanationsandcodesamplesonhowtochooseastrategytoadaptPUBLICvariablestoweboperations,accordingtothekindofdatathesevariablescontain:-IdentifyPUBLICvariableswhosecontentsdependontheuser:.
eitheronuseridentityand/orsecurityrightsandpriviledges(userprofile),.
oronuseractionsthroughinteractionwithapplication(useractions);-Chooseanadaptatonstrategyforeachofthesekindofvariable","'AdaptingPUBLICvariables'-InformationsdétailléessurCommentchoisirunepolitiqued'adaptationdesvariablespubliquesselonleurcontenu:-Identifierlesvariablesdontlecontenudépenddel'utilisateur:.
soitparsonidentitéet/ousesdroitsetprivilèges(profildel'utilisateur),.
soitparlecoursdesesactionssurl'application(activitédel'utilisateur);-Choisirunepolitiqued'adaptationadaptéeàchaquetypedevariabledépendantdel'utilisateur"9024""1.
30","05-02-17","03-07-17","Enhancement",,"aw.
vcxawServer","Supportform.
lostFocus()","Supportdeform.
LostFocus(9025""1.
30","05-02-17","03-07-17","Enhancement",,"aw.
js","SupportActiveWidgetsV2.
6.
1includedindistribution-providessupportforanytypeoftouchdevice","Supportd'ActiveWidgetsV2.
6.
1inclusdansladistribution-supportetouslestypesdematérieltactile"9026""1.
30","05-02-17","03-01-17","Learning",,"FAA(awAdapter)","ModalDialog,movecodeprocessinguserresponseintoanothermethod'-detailedexplanationsandcodesamplesonhowtomovecodeprocessinguser'sresponsetoamodalsituationtoacall-backmethod.
","'Dialoguemodal,déplacerlecodeutilisantlaréponseutilisateurdansuneautreméthode'-Informationsdétailléesetexemplesdecodeexpliquantcommentdéplacerlecodetraitantlechoixdel'utilisateurdansunesituationmodaleversuneméthodederetourdite'callback'9027""1.
30","05-02-17","02-20-17","Fix",,"awHTML","""tabindex=""attributebetterassignedbasedoncontainersandmultipleforms","L'attribut""tabindex=""estmieuxcalculésurlabasedeconteneursetformulairesmultiples"9028""1.
30","05-02-17","02-13-17","Supportextension",,"awHTML","Supportforshape.
Curvature","shape.
Curvatureestsupporté9029""1.
30","05-02-17","02-13-17","Fix",,"FAA(awAdapter)",".
AddObject()/.
NewObject()/.
RemoveObject()automatedadaptationwithinWITH…ENDWITHblock(s)","Adaptationautomatiquede.
AddObject()/.
NewObject()/.
RemoveObject()àl'intérieurdebloc(s)WITH…ENDWITH"9030""1.
30","05-02-17","02-13-17","Fix",,"FAA(awAdapter)","RedefiningClassofmemberswithparent.
MemberClass/parent.
MemberClassLibrarytoApplicationclassLibraryderivedfromaw.
vcx!
aw*","Redirectiondelaclassedesmembresavecparent.
MemberClass/parent.
MemberClassLibraryverslesclassesdel'applicationdérivéesdeaw.
vcx!
aw*9031""1.
30","05-02-17","02-11-17","Learning",,"FAA(awAdapter)","FoxInCloudAdaptationAssistant:Userguideonhttp://foxincloud.
com/how-to.
php","Assistantd'AdaptationFoxInCloud:Guidedel'Utilisateursurhttp://foxincloud.
com/how-to.
php"9032""1.
30","05-02-17","02-11-17","Learning",,"FAA(awAdapter)","ReviseadaptationhintsthatappearonthebottompartoftheAdaptationAssistantform;additionalcodesamples","Réviserlesindicationsd'adaptationquiapparaissentdanslapartieinférieuredel'écrandel'Assistantd'Adapation;ajouterdesexemplesdecode"9033""1.
30","05-02-17","02-11-17","Fix",,"FAA(awAdapter)","Eventsmistakenlyreportedasnonsupported:-Form.
keyPress()-Toolbar.
RightClick()-Timer.
*","Evénementsindiquésàtordcommenonsupportés:-Form.
keyPress()-Toolbar.
RightClick()-Timer.
9034""1.
30","05-02-17","02-06-17","Enhancement",,"aw.
vcxawAppHost","SupportForm.
Show()","SupportdeForm.
Show(9035""1.
30","05-02-17","02-06-17","Enhancement",,"aw.
vcxawAppHost","SupportForm.
Activate()","SupportdeForm.
Activate(9036""1.
30","05-02-17","01-30-17","Enhancement","MrTuviaVinitsky","awServerabOOP","Session.
set/getSessionVar()supportsvariablesofalltypes,includingobjectsofanybaseClass(includingCollection),andnestedobjects;syntax:Session.
setSessionVar(,)&&wConnectstandardSession.
getSessionVar(,,):-setto.
T.
ifyouneedtoreadinthetableinsteadofthecurrentsession;-canbeeither:*aVartype()valuesuchas'L','N',etc.
*avariableyouwanttheresulttobeacloneof;e.
g.
anobjectoftheproperclassyouneed,avariableinitializedtothepropertypeexpected.
Notsupported:-Objectarrayelements,-Memberobjects.
","Session.
set/getSessionVar()supportelesvariablesdetoustypes,ycomprislesobjetsdetoutesclasses(ycompriscollection)etlesobjetsimbriqués;syntaxe:Session.
setSessionVar(,)&&wConnectstandardSession.
getSessionVar(,,):-réglezà.
T.
sivousvoulezliredanslatabledesessionaulieudelasessioncourante;-peutêtre:*unevaleurdeVartype()comme'L','N',etc.
*unevariablesurlequelvousvoulezmodelerlerésultat,parexempleunobjetd'unecertaineclasse,unevariabledutypevoulu.
Nesontpassupportés:-Lesélémentsdetableauxdetype'Objet'-Leobjetsmembresd'autresobjets.
9037""1.
30","05-02-17","01-12-17","Fix",,"awHTML","Fixedanissuewhengrid.
column.
controlSourcecan'tbefoundingrid.
RecordSource","Résoluunproblèmelorsquegrid.
column.
controlSourcen'existepasdansgrid.
RecordSource"9038""1.
30","05-02-17","01-11-17","Fix","MrTuviaVinitsky","awHTML","Fixedcontainer.
borderWidth>1notshowingupinCSS","Résolupb:container.
borderWidth>1nontraduitenCSS"9039""1.
30","05-02-17","12-27-16","Lookandfeel",,"FoxInCloud.
jsawHTML","Improvedsupportforpageframe.
Page.
Enabled=.
F.
:-addedattribute""disabled""topageandtab-addedCSSrulethatyoucanoverride:#xxxpagf*[disabled=""disabled""],#xxxpagf*[disabled=""disabled""]*{color:grey;}","Meilleursupportdepageframe.
Page.
Enabled=.
F.
:-nouvelattribut""disabled""aunivezaudelapageetl'onglet-nouvellerègleCSSquevouspouvezsurcharger:#xxxpagf*[disabled=""disabled""],#xxxpagf*[disabled=""disabled""]*{color:grey;9040""1.
30","05-02-17","12-22-16","Fix","Sig.
MicheleBosetti","awHTMLawGrd.
dbf","Fixedissue:grid.
font*propertiesdonotshowupinCSS","Résoluleproblème:lespropriétésgrid.
font*nesontpastraduitesenCSS"9041""1.
30","05-02-17","12-22-16","Fix","MrTuviaVinitsky","aw.
vcx!
awFrm","RemoveduselessandoffendinginstructioninawFrm.
lostFocusInet()","SuppriméuneinstructioninutileetdommageabledansawFrm.
lostFocusInet(9042""1.
30","05-02-17","12-15-16","Fix","Sig.
MicheleBosetti","FoxInCloud.
js","Supportforpageframe.
Tabs=.
F.
","Supportdepageframe.
Tabs=.
F.
9043""1.
30","05-02-17","12-13-16","Fix","Sig.
MicheleBosetti","awHTML","SupportforAutoIncrementintegerfieldsingrid.
RecordSource","Supportdeschampsentiersautoincrémentésdansgrid.
RecordSource"9044""1.
30","05-02-17","12-08-16","Supportextension","M.
GillesLajot-Sarthou","aw.
vcx!
awFrmIB","SupportforinputBox()withthisForm.
wInputBox()","Supportd'InputBox()parthisForm.
wInputBox(9045""1.
30","05-02-17","12-08-16","Supportextension","MrGarthGroft","aw.
vcx!
awFrm*","SupportfortimeoutinwMessageBox()andothersimilarforms","SupportdutimeoutdanswMessageBox()etlesautresformulairesanalogues"9046""1.
30","05-02-17","12-08-16","Fix","M.
GillesLajot-Sarthou","aw.
vcx!
awSpn","awSpn.
Valid()isprocessedinWebmode","awSpn.
Valid()esttraitéenmodeWeb"9047""1.
26","10-02-16","12-01-16","Fix",,"aw.
vcx!
awFrmFoxInCloud.
js","Releaseform(javascriptwindow)thatisnotcurrentlyfocused","Refermeunformulaire(fenêtrejavascript)quin'apascourammentl'attention(focus)9048""1.
26","10-02-16","09-26-16","Supportextension",,"awAJAX","SaveandrestoreDeleted()recordsincursorsandviews","SauveretrestaurerlesenregistrementsDeleted()danslescurseursetlesvues"9049""1.
26","10-02-16","09-19-16","Lookandfeel","MrTuviaVinitsky","aw.
vcxawHTML","PageFramepagetabs,extensibledisplay:-DefaultstylesinCSSfileinsteadofin-lineasofnow-AdddefaultCSSclass(es)basedonpageclasshierarchy+'tab'","OngletsdepagesdepageFrame:apparenceextensible:-LesstylespardéfautsontdanslafeuilleCSSaulieud'êtredansl'élément(inline)-AjouterdesclassesCSSpardéfautnommécommelahiérarchiedesclassesdelapage+'tab'9050""1.
26","10-02-16","09-14-16","Enhancement",,"aw.
vcx!
awGrdawPublic.
prg!
awGrc","Newproperty.
wlContentDynamic[.
F.
]Setto.
T.
ifeithergridorcolumnorcolumnmemberortheirrespectivepropertiescanchangeatruntimeduringthecourseofuserevents.
Yougetbetterperformancewith.
F.
","Nouvellepropriété.
wlContentDynamic[.
F.
]Réglerà.
T.
silagrille,lescolonnes,leursmembresoupropriétéspeuventchangeràl'exécution.
.
F.
améliorelesperformances.
9051""1.
26","10-02-16","09-11-16","Fix","MrAndySwartz","awServer.
prgFoxInCloud.
js","DOMelement.
focus()worksinIE,,)/awHTMLgen.
cScriptEventServerClient(,,)-awFrm.
wcScriptEventClientServer(,,)/awHTMLgen.
cScriptEventClientServer(,,)Allowsaneventtobesenttotheserver,thenprocessedbyclientbrowserjavascriptortheotherwayround;Codeyoureventmethodasfollows:IFm.
thisForm.
wlHTMLGen&&addedparFoxInCloudAdaptationAssistantRETURNthisForm.
wcScriptEventServerClient()ELSE&&addedparFoxInCloudAdaptationAssistant…>…ENDIF&&addedparFoxInCloudAdaptationAssistant","4nouvellesméthodes:-awFrm.
wcScriptEventServerClient(,,)/awHTMLgen.
cScriptEventServerClient(,,)-awFrm.
wcScriptEventClientServer(,,)/awHTMLgen.
cScriptEventClientServer(,,)Permetd'envoyerunévénementauserveur,puisdeletraiterparjavascriptdanslenavigateur,ouvice-versa;codezvotreméthoded'événementcommesuit:IFm.
thisForm.
wlHTMLGen&&ajoutéparl'Assistantd'AdaptationFoxInCloudRETURNthisForm.
wcScriptEventServerClient()ELSE&&ajoutéparl'Assistantd'AdaptationFoxInCloud…>…ENDIF&&ajoutéparl'Assistantd'AdaptationFoxInCloud"9054""1.
26","10-02-16","08-21-16","Fix",,"awServer.
prg","awAJAX.
PropsRestore_DS_Alias_oGrids():fixedabugcausinggridstoloose.
RecordSourceifcursorREADONLYand/orhavestructurechangesbetween2requestsorusers","awAJAX.
PropsRestore_DS_Alias_oGrids():résoluunboguecausantlapertede.
recordSourcesicurseurREADONLYet/ouayantunchangementdestructureentrerequêtesouentreutilisateurs"9055""1.
26","10-02-16","08-17-16","Fix",,"awServer.
prg","awAJAX.
PropsRestore_Array():"".
BoundColumnpropertyisnotfound""errorfixed","awAJAX.
PropsRestore_Array():l'erreur""lapropriété.
BoundColumnestintrouvable""estrésolue"9056""1.
26","10-02-16","08-15-16","Fix",,"awPublic.
prg","WithduerespecttoVFPobjectandclassesnamingconventions,class'awCol'isrenamed'awGrc'.
Pleaseadaptthe'AS'clauseofyoursubclass(es)accordingly.
","EnrespectdesconventionsdenommagedesobjetsetclassesVFP,laclasse'awCol'estrenommée'awGrc'.
Veuillezmodifierlaclause'AS'devossous-classeséventuellesenconséquence"9057""1.
26","10-02-16","08-15-16","Enhancement",,"aw.
vcx!
*","AllClassesnowhave10.
wFormCallBack*()methods:.
wFormCallBack(),.
wFormCallBack1(),…,.
wFormCallBack9()","Touteslesclassesontmaintenant10méthodes.
wFormCallBack*():.
wFormCallBack(),.
wFormCallBack1(),…,.
wFormCallBack9(9058""1.
26","10-02-16","08-15-16","Fix",,"awAJAXawHTML","Listbox&Combobox:nolongeraddanemptywhen.
Valuecan'tbefoundin.
List,adda.
selectedIndex=-1;javascriptinstructioninstead.
Thisfixesthe""indexisoutofbounds""errorwhenselectingthis'extra'","Listbox&Combobox:n'ajouteplusunvidelorsque.
Valueestabsentde.
List();aulieudecela,ajouteuneinstructionjavascript.
selectedIndex=-1.
Cecirésoudlebug""Lavaleurreue()devraitêtreentre-1et-1"9059""1.
26","10-02-16","08-15-16","Supportextension",,"awAJAX","READONLYcursorsaresupported","LescurseursREADONLYsontsupportés"9060""1.
26","10-02-16","07-12-16","Supportextension",,"aw.
vcxawAJAXawHTML","'Timer'BaseClassissupported","Laclassedebase'Timer'estsupportée"9061""1.
26","10-02-16","07-11-16","Enhancement",,"aw.
vcx!
awFrm","PROCEDUREwUserConnected():IDsofuserscurrentlyconnectedtotheapplication","PROCEDUREwUserConnected()IDdesutilisateurscourammentconnectésàl'application"9062""1.
25","07-02-16","06-21-16","Fix",,"awPublic.
prgwAddObject()","wAddObject()with""OLEcontrol""class:firstparametercontainsOLEclass,fixedbyreplacing't01'variablebyanequivalentlitteralandmacro-substitutingparameters","wAddObject()aveclaclasseOLEcontrol:laclasseOLEétantpasséeenpremierparamètre,résoluenremplaantleparamètre't01'parunlittéraléquivalentetenmacro-substituantlachanedeparamètres"9063""1.
25","07-02-16","06-21-16","Enhancement",,"awPublic.
prgaw.
vcx!
awFrm","aw.
vcx!
awFrm.
Unload()supportsRETURNofanobjectofanybaseclassexceptCollectionetControl.
awPublic.
prg!
cLitteralJS()checksobject'sbaseclassandawPublic.
prg!
cLitteralJS_lSupport()checksifsiawPublic.
prg!
cLitteralJS()supportsthetypeofdatatobeconvertedintoaJavaScriptlitteral.
","aw.
vcx!
awFrm.
Unload()supporteleretourdetouslestypesd'objetsàpartCollectionetControl.
awPublic.
prg!
cLitteralJS()vérifieletyped'objetetawPublic.
prg!
cLitteralJS_lSupport()vérifiesiawPublic.
prg!
cLitteralJS()supporteletypededonnéesàconvertirenlittéraljavascript"9064""1.
25","07-02-16","06-20-16","Enhancement",,"awAJAX.
PVofObject","awAJAX.
PVofObject()supportsallbaseclassesexceptControletCollection(Collectiontobesupportedinafutureversion)","awAJAX.
PVofObject()supportetouteslesclassesdebasesaufControletCollection(Collectionserasupportéedansuneprochaineversion)9065""1.
25","07-02-16","06-20-16","Enhancement","MrGarthGroft","aw.
vcx!
awFrm","NewmethodawFrm.
wTableSwap(dbf,alias)allowingtoopenanothertableunderanexistingalias.
Thismethodcanbeusedifyourapplicationrequiresdifferentfreetablesaccordingtotheuser;forexampleuserofaclient'A'usesfreetableslocatedinfolder'A'whileusersofclient'B'usesfreetableslocatedinfolder'B'.
awFrm.
wTableSwap(dbf,alias)restoresaliasinthesamestateasbeforeandtakescareofgridsthataliascouldbe.
RecordSourceof.
","NouvelleméthodeawFrm.
wTableSwap(dbf,alias)permettantd'ouvriruneautretablesouslemêmealias.
Cetteméthodeestparticulièrementutilesivousutilisezdestableslibresdifférentessuivantl'utilisateur;parexemplel'utilisateurd'unclientAutiliselestableslibresd'undossierAetlesutilisateursd'unclientButilisentlestableslibresd'undossierB.
awFrm.
wTableSwap()rétablitl'Aliasdanslemêmeétatets'occupedesGrillesdontl'aliaspourraitêtre.
RecordSource"9066""1.
25","07-02-16","06-15-16","Fix",,"aw.
vcx!
awFrm","FormCall-Backmethodcanreturnvalueofanytype(fixinawFrm.
wFormShow())","Lesméthodescall-backpeuventretournerunevaleurdetouttype(correctiondansawFrm.
wFormShow(9067""1.
25","07-02-16","06-15-16","Fix",,"aw.
vcx!
awTxt","Textcanbeselectedwithmouse(fixin.
MouseDown())","Letextepeutêtresélectionnéaveclasouris(bugcorrigédans.
MouseDown(9068""1.
25","07-02-16","06-05-16","Fix",,"aw.
vcx!
awFrm","awFrm.
wFormMaster():secondparameternolongermissing","awFrm.
wFormMaster():secondparamètremanquant"9069""1.
25","07-02-16","06-05-16","Enhancement",,"awHTML","ToolTipgenerationnowobbeystoForm.
showtips;nomoredefaulttooltips","LesTooltipspardéfautsontsupprimés.
LagénérationdesToolTipsobéitàForm.
ShowTips"9070""1.
25","07-02-16","06-05-16","Enhancement",,"awHTML","Pageframepagetabssupportthesameeventsasthepageitself(samebehaviorasVFP)","PagedePageFrame:l'ongletsupportelesmêmesévénementsquelapageelle-même(comportementidentiqueàVFP)9071""1.
25","07-02-16","06-05-16","Lookandfeel",,"awHTMLawAJAX","Childforms:setclose,minimizeandmaximizebuttons,andautocenteraccordingtooriginalVFPformsettings","Ecransenfant:réglerlesboutonsdefermeture,maximisationetminimisationetlecentrageautomatiqueselonlesréglagesduformulaireVFP"9072""1.
25","07-02-16","06-05-16","Enhancement",,"aw.
vcx!
awGrd","WhenGrid.
RecordSourcechanges,columnsarerebuiltautomatically(seeaw.
vcx!
awGrd.
RecordSource_Assign())","QuandGrid.
RecordSourcechange,ladéfinitiondescolonnesestrétablieautomatiquement(cf.
aw.
vcx!
awGrd.
RecordSource_Assign(9073""1.
25","07-02-16","06-05-16","Enhancement",,"aw.
vcx!
awFrm","Newpropertyaw.
vcx!
awFrm.
wcWindowTheme:windowthemeforformrenderinginbrowser;back-compatibledefault:'mac_os_x'Seeavailablethemesin\Tools\AB\AW\Scripts\Window*\Themes","Nouvellepropriétéaw.
vcx!
awFrm.
wcWindowTheme:thèmedefenêtrepourrendrelesécransdanslenavigateur;défautrétro-compatible:'mac_os_x'Voirlesthèmesoffertsdans\Tools\AB\AW\Scripts\Window*\Themes"9074""1.
25","07-02-16","06-05-16","Enhancement",,"awHTML","Propertiesaddedtoaformatdesigntimearesavedautomatically","Lespropriétésajoutéesàunformulaireàlaconceptionsontsauvegardéesautomatiquement"9075""1.
25","07-02-16","06-01-16","Supportextension",,"awAJAX","DynamicSETRELATION:saveandrestorealiasesRELATION()andTARGET()","SETRELATIONdynamique:sauvegarderetrestaurerRelation()etTarget()desalias"9076""1.
25","07-02-16","06-01-16","Supportextension","MrGarthGroft","awAJAX","Arenowsupported:-bufferedVFPtablesandcursors(inadditiontoviewspreviouslysupported)-Allaliasproperties:SETKEY/ORDER/FILTER/FIELDS/RELATION.
Thesepropertiesmaybestatic(definedatdesigntime)ordynamic(changedinthecourseofuseractions)","Sontdésormaissupportés:-tablesVFPetlescurseurstamponnés(enplusdesvuesdéjàsupportées)-touteslespropriétésd'alias:SETKEY/ORDER/FILTER/FIELDS/RELATION.
Cespropriétéspeuventêtrestatiques,définiesunefoispourtoutesaudémarrageduformulaire,ouévoluerdanslecoursdesévénements"9077""1.
25","07-02-16","06-01-16","Supportextension",,"awHTML","grid.
Column.
ControlSourcewithlongfieldnames(>10characters)and/orexpressions","grid.
Column.
ControlSourceavecnomdechamplongs(>10caractères)et/ouexpressions"9078""1.
25","07-02-16","05-26-16","Fix",,"awHTML","MemberofaColumndynamicallyaddedwhenGrid.
RecordSourceisassigned(typicallyText1ASTextbox):nomorewarningifnotasubclassofaw.
vcx!
aw","Membred'unecolonneajoutéedynamiquementquandGrid.
RecordSourceestdéfini(typiquementText1ASTextBox):plusd'avertissementquandl'objetnedérivepasdeaw.
vcx!
aw9079""1.
25","07-02-16","05-15-16","Supportextension",,"aw.
vcxawServer","PROTECTEDorHIDDENpropertiescanbesavedandrestored.
Seeaw.
vcx!
aw*.
wPropGet(),.
wPropSet(),.
wPropArray()andawServer.
prg!
awAJAX.
PropsSave_Init_Obj()and.
PropsRestore()","LespropriétésPROTECTEDorHIDDENpeuventêtresauvegardéesetrestaurées.
Voiraw.
vcx!
aw*.
wPropGet(),.
wPropSet(),.
wPropArray()andawServer.
prg!
awAJAX.
PropsSave_Init_Obj()and.
PropsRestore(9080""1.
20","05-02-16","04-26-16","Productivity",,"FAA(awAdapter)","Form.
init()withparameters:conditioncodeby:IFPcount()>0ENDIF[automatedadaptation]","Form.
init()avecparamètres:ConditionnertoutlecodeparIFPcount()>0ENDIF[adaptationautomatique]9081""1.
20","05-02-16","04-24-16","Enhancement",,"FoxInCloud.
js","AJAXrequestsarescript-mappedtoavoidhitting/bindirectorywhichisa""hiddensegment""bydefaultunderIIS7+.
SeeFoxinCloud.
js!
FoxInCloud.
CGI","LesrequêtesAJAXsontexpriméesenScript-Mappouréviterd'adresserdirectementlerépertoire/binquifaitpartiepardéfautdessegmentsmasquéssousIIS7+.
VoirFoxinCloud.
js!
FoxInCloud.
CGI"9082""1.
20","05-02-16","04-24-16","Productivity",,"aw.
vcxawAJAX","Moveaw.
vcx!
aw*.
Init()codetoawAJAXtoeliminatetheneedforaDoDefault()","Déplacerlecodedeaw.
vcx!
aw*.
Init()dansawAJAXpoursupprimerlanécessitéd'unDoDefault(9083""1.
20","05-02-16","04-23-16","Enhancement",,"awAppHost","RestoreSet(""Path""),Set(""Procedure"")andSet(""Classlib"")ifeverapplicationSETswithoutanADDITIVEclause,issuesawarninginthiscase.
","RestaureSet(""Path""),Set(""Procedure"")etSet(""Classlib"")sil'applicationexécuteunSETsanslaclauseADDITIVE,émetunavertissementdanscecas"9084""1.
20","05-02-16","04-20-16","Fix",,"aw.
vcx!
awCbo","Comboboxingridcell(s):InteractiveChangeacceptscharactervalue","Comboboxdansdescellulesdegrille:InteractiveChangeacceptelesvaleursdetypecaractère"9085""1.
20","05-02-16","04-20-16","Fix",,"awAJAX","ChildFormsworkinginmultipleparentform'sdatasession(default):datasessioniscorrectlysavedandrestored","Ecransenfantstravaillantdanslasessiondedonnéesprivéedeplusieursécransparent:lasessiondedonnéesestsauvéeetrestauréecorrectement"9086""1.
20","05-02-16","04-19-16","Productivity",,"FAA(awAdapter)","Step3-Publish:automaticallyinstallsanewApplicationServerandsetupsIISaccordingly","Etape3-Publier:installeleserveurd'applicationetrègleIISautomatiquement"9087""1.
20","05-02-16","04-05-16","Optimization",,"awAJAX","Viewswithrowbuffering:onlycurrentrecordissavedandrestored","Vuesentampond'enregistrement:seull'enregistrementcourantestsauvegardéetrestauré9088""1.
20","05-02-16","04-03-16","Enhancement",,"aw.
vcx!
awFrm","aw.
vcx!
awFrm::wForm()brokendowninto2sub-methods:.
wFormNoShow()and.
wFormShow().
Ifyourformneedsadditionalsettingsbefore.
Show()youcaneitherimplementyouForm.
wForm_shell()orexecuteyoursetupcodebetween.
wFormNoShow()and.
wFormShow()calls.
Seeaw.
vcx!
awFrm::wForm()sourcecodefordetailsandcodesamples.
","aw.
vcx!
awFrm::wForm()décomposéeen2sous-méthodes:.
wFormNoShow()et.
wFormShow().
Sivotreformulaireabesoinderéglagescomplémentairesavantson.
Show(),vouspouvezimplémenter.
wForm_Shell()ouexécuterlecodederéglageentre.
wFormNoShow()et.
wFormShow().
Voirlecodesourcedeaw.
vcx!
awFrm::wForm()pourplusdedétailsetdeséchantillonsdecode.
9089""1.
20","05-02-16","04-03-16","Enhancement",,"awPublic.
prg","wcFormParms()buildsaStringofparameters('t01,t02,.
.
.
')formacro-substitutionwhencallingaformmethod;Simplifiedcode(fewerlines)","wcFormParms()construitunechanedeparamètres('t01,t02,.
.
.
')pourmacro-substitutionlorsdel'appeld'uneméthodewForm*();Codesimplifié(moinsdelignes)9090""1.
20","05-02-16","04-01-16","Productivity",,"FAA(awAdapter)","*_assign():addatthebeginningofmethodIFType(""thisForm.
wlPropsRestore"")=""L""andThisForm.
wlPropsRestoreThis.
=m.
tNewValueRETURNENDIF[automatedadaptation]","*_assign():ajouteraudébutdelaméthodeIFType(""thisForm.
wlPropsRestore"")=""L""andthisForm.
wlPropsRestoreThis.
=m.
tNewValueRETURNENDIF[adaptationautomatique]9091""1.
20","05-02-16","03-30-16","Fix",,"awAppHost","AsawAppHost.
prgsourcecodeisnotdistributed,allASSERTarereplacedbyWarning()foreasierdebugging","LecodesourcedeawAppHost.
prgn'étantpasdistribué,touslesASSERTsontremplacéspardesappelsàthis.
Warning()pourfaciliterledéboguage.
9092""1.
20","05-02-16","03-30-16","Fix",,"awPublic.
haw.
h","aw_override.
hrenamedas""awPublic_override.
h""andmovedupfromAB\AW\toAB\folder.
UsersoftrialversioncannowoverrideanyFiCconstantinawPublic_override.
h","aw_override.
hrenommé""awPublic_override.
h""etdéplacédudossierAB\AW\àAB\folder.
LesutilisateursdelaversiontrialpeuventdésormaisredéfinirtouteconstanteFiCdansawPublic_override.
h"9093""1.
20","05-02-16","03-23-16","Fix",,"awAJAX","Combobox&Listboxwith.
RowSource:if.
Valuecan'tbefoundin.
RowSource,novalueinlistisselected","Combobox&listboxavec.
RowSource:si.
Valueestendehorsde.
RowSource,aucunevaleurdelalisten'estsélectionnée"9094""1.
20","05-02-16","03-23-16","Fix",,"awAJAX","Non-updateableviews(Empty(CursorGetProp(""KeyFieldList"")))arebettersavedandrestored","Lesvuesnonupdatable(Empty(CursorGetProp(""KeyFieldList"")))sontmaintenantmieuxsauvegardéesetrétablies"9095""1.
20","05-02-16","03-07-16","Supportextension",,"aw.
vcxawAJAXawProcess","awFrm.
wFormMaster()acceptsupto20parameterstobepassedtoform.
Init()","awFrm.
wFormMaster()acceptejusqu'à20paramètresàpasseràform.
Init(9096""1.
10","02-29-16","02-26-16","Productivity",,"awProcess","ApplicationinikeytoavoidsendingamessagetoadministratorwhenaProcessMethodisnotsupported(hackattempts)","Paramètredansl'inidel'applicationpournepasenvoyerdemessageàl'administrateurdanslecasoùlarequêteinvoqueuneméthodenonsupportée(tentativedehack)9097""1.
10","02-29-16","02-26-16","Productivity",,"awProcess","ApplicationinikeytoavoidsendingamessagetoadministratorwhenaProcessMethodisnotsupported(hackattempts)","Paramètredansl'inidel'applicationpournepasenvoyerdemessageàl'administrateurdanslecasoùlarequêteinvoqueuneméthodenonsupportée(tentativedehack)9098""1.
10","02-29-16","02-25-16","Optimization",,"awHTMLgen","Grid:indevelopmentmode,warndeveloperifextractingcontentsand/orevaluatingColumn.
Dynamic*propertiesseemstoolengthyandcan/shouldbeoptimized.
","Grille:avertirledéveloppeursil'extractionducontenude.
RecordSourceet/oul'évaluationdesexpressionsColumn.
Dynamic*parattroplongetpourraitêtreoptimisé9099""1.
10","02-29-16","02-25-16","Enhancement",,"awAppHost","Indevelopmentmode,warningifunexpectedalterationofSet(""ClassLib"")andSet(""Procedure"")duringapplicationsetupandusereventprocessing.
Makesuretoperformallyourapplication'sSETPROCEDURE|CLASSLIBinxxxSetswiththeADDITIVEclause","Enmodedéveloppement,avertissementencasd'altérationinopinéedeSet(""ClassLib"")etSet(""Procedure"")pendantl'initialisationdel'applicationetletraitementdesévénementsutilisateur.
Assurez-vousderéalisertouslesSETPROCEDURE|CLASSLIBpourl'applicationdansxxxSetsaveclaclauseADDITIVE"9100""1.
10","02-29-16","02-21-16","Supportextension",,"awHTML","Grid,fullsupportof:-.
Highlight,.
HightlightStyle,.
HightlightBackColor,.
HightlightForeColor-.
GridLines,.
GridLineWidth,.
GridLineColor","Grid,supportcompletde:-.
Highlight,.
HightlightStyle,.
HightlightBackColor,.
HightlightForeColor-.
GridLines,.
GridLineWidth,.
GridLineColor"9101""1.
10","02-29-16","02-21-16","Supportextension",,"aw.
vcxawAJAXawHTML","CompleteeventsmappingbetweenVFPandHTMLDOM(includingWhen())andmoreaccuratedefinitionofeventsupportscopeperVFPbaseclass","CorrespondancecomplètedesévénementsentreVFPetlemodèleHTMLDOM(ycomprisWhen()),etanalyseplusprécisedusupportdesévénementsparclassedebase"9102""1.
10","02-29-16","02-16-16","Optimization",,"aw.
vcx!
awFrmMB","InstantiateawFrmMBand/orsub-classesonceandrecycleinstanceoneachuse","InstancierlaclasseawFrmMBet/ousessous-classesuneseulefoisetrecyclerl'instance"9103""1.
10","02-29-16","02-11-16","Fix",,"aw.
prg!
cImageWeb()","GDIpluserror'GDI+objectnotcreatedorassociated'nolongeroccurswhenPicturefilecan'tbefound","L'erreurGDIplus'GDI+objectnotcreatedorassociated'nesurvientplusquandlefichierimageestintrouvable"9104""1.
10","02-29-16","02-02-16","Productivity",,"FAA(awAdapter)","Afteradaptedprojectisopened,QUITFoxInCloudAdaptationAssistant","Arrêterl'assistantd'adaptationaprèsl'ouvertureduprojetadapté9105""1.
10","02-29-16","02-01-16","Productivity",,"aw.
vcx","DeprecatedPEMsremoved","SuppressiondesPEMdépréciées"9106""1.
10","02-29-16","01-21-16","Enhancement",,"atPJcompile.
prg","Bydefaultvisualfiles*.
cxareNOTcompiledtoavoidchangingversionunnecessarily.
VFPautomaticallycompiles*.
cxwhenclosing.
Pass.
T.
asfirstparameterifyouwanttocompile*.
cxaswell.
","Pardéfautles*.
cxnesontpascompiléspouréviterdelesmettreàjourinutilement;eneffetVFPcompilelesfichiers*.
cxautomatiquementàleurfermeture.
Passerlepremierparamètreà.
T.
sivousvoulezaussicompilerles*.
cx.
9107""1.
10","02-29-16","12-29-15","Fix",,"awServer","RequestIDunicityisbetterenforced","L'unicitédel'identifiantderequêteestplusfiable"9108""1.
10","02-29-16","12-24-15","Productivity",,"FoxInCloud.
js","Warndeveloperthatifanyjavascripterroroccurs,executionstopsandfurthercodeisnotexecuted,resultinginincompleterequestprocessing","Avertirledéveloppeurquesiuneerreurjavascriptseproduit,l'exécutions'arrête,lesinstructionssuivantesnesontpasexécutéesetletraitementdelarequêteestincomplet.
9109""1.
06","12-16-15","12-16-15","Fix",,"aw.
vcx!
awPgf","AsofVFPstandardbehavior,pageframerefreshescurrentpageonly;inWebmode,FoxInCloudrefreshesallpagessothatcontrolsproperlyreflecttheircontrolSource.
","Selonsoncomportementpardéfaut,pageFrame.
refresh()nerafrachitquelapageactive;enmodeWeb,FoxInCloudrafrachittouteslespagespourquelescontrlesreflètentfidèlementleurcontrolSource.
9110""1.
06","12-16-15","12-15-15","Productivity",,"awProcessawAJAXawHTML","WhenrunningFoxInCloudServerinVFPIDE(developmentmode)awHTMLgeneratesapplicationdefaultCSS(awDefault.
css)dynamicallywithasys(2015)stemprefixasabrowsercacheworkaround;awProcessandawAJAXupdatesthisCSSinthepageaccordingly.
Inproductionmode,awDefaultAll.
cssremainstoallowmulti-serversupport.
Testingwithmultiplebrowsersissupported.
Pleasenotethat,whendisplayingachildformforthefirsttimeafterFoxInCloudserverrestart,becauseofthejavaScript-drivenCSSupdateinthebrowser,elementsappearunstyledforablink.
Thisisanormalbehavioroccurringonlyonceperchildform,andindevelopmentmodeonly.
","EnexécutantleserveurFoxInClouddansl'IDEVFP(modedéveloppement),awHTMLgénèrelaCSSpardéfautdel'application(awDefault.
css)dynamiquement,laracine'awDefault'ayantunsuffixesys(2015)pourcontournerducachedunavigateur;awProcessetawAJAXmodifientlaCSSdanslapagedèsqu'elleestrafrachie.
Letestmulti-browserestsupporté.
awDefaultAll.
cssestconservéeenmodeproductionafind'assurerlesupportmulti-serveurs.
Veuilleznoterque,aupremieraffichaged'unécranenfantaprèsledémarrageduserveurFoxInCloud,dufaitdurafrachissementparJavaScriptdelaCSS,lesélémentsperdentleurstylepouruncourtinstant;normalenmodedéveloppement,cecomportementn'existepasenmodeproduction.
9111""1.
06","12-16-15","12-13-15","Productivity","MrTuviaVinitsky","aw.
vcx!
awFrm","awFrm.
wFormTopLevel()renamedaswFormMaster()forthesakeofconsistency.
Ifyouusedthismethodinyoursubclass(es),pleasesaveyourcodeandmoveittothisnewmethod.
","MéthodeawFrm::wFormTopLevel()renomméeenwFormMaster()parsoucidecohérence.
Sivousavezutilisécetteméthodedansvossous-classes,mercidebienvouloirsauvegardervotrecodeetledéplacerdanscettenouvelleméthode.
9112""1.
06","12-16-15","12-13-15","Fix",,"aw.
vcx!
awFrm","wViewsRequery()methodrestoresRecno('view')afterRequery()","LaméthodewViewsRequery()rétablitlerecno('view')aprèsRequery(9113""1.
06","12-16-15","12-11-15","Localization",,"aw.
vcx","PEMdescriptionsarelocalizedinEnglish","N/A","N/A","N/A","N/A",,,,,"9114""1.
06","12-16-15","12-10-15","Fix",,"awHTML","Recentlyeditedgridcellsareupdatedwhengrid.
RecordSourcecontentchanges","Lescellulesdegrillerécemmentéditéessontmisesàjourquandgrid.
recordSourceestrafrachi"9115""1.
06","12-16-15","12-09-15","Fix",,"awAJAX","CursorscreatedbyCREATECURSORarenowcorrectlysavedunderWindows2000server","LescurseurscréésavecCREATECURSORsontcorrectementsauvegardéssousWindows2000server"9116""1.
06","12-16-15","12-07-15","Productivity",,"FAA(awAdapter)","DOFORM:automaticreplacementbythisForm.
wForm()whencalledinaformmembermethod","DOFORM:remplacementautomatiqueparthisform.
wForm()danslesméthodesdemembresdeformulaires"9117""1.
06","12-16-15","12-06-15","Fix",,"awAJAX","Arrayswhosesizehasdecreasedsincelastrequestareproperlyrestored.
","Lestableauxdontlatailleadiminuédepuislarequêteprécédentesontrestauréscorrectement.
9118""1.
06","12-16-15","12-06-15","LookandFeel",,"awProcess","MainformpagesgeneratedbyawProcess::wFormStandardPage():2additionalaswideastheformjustbeforeformtitlebarandbelowformbottombar(CSSclasses"".
awForm-top""and"".
awForm-bottom""),emptybydefault.
Inyourprocessclass,implementwFormHTML_cFormTop()andwFormHTML_cFormBottom()methodstofillincontent","LespagesdeformulairesprincipauxgénéréesparwFormStandardPage()ont2nouvellesjusteavantlabarredetitreetaprèslabarredubas,dontlesclassesCSSsont"".
awForm-top""et"".
awForm-bottom"",videspardéfaut.
ImplémentezlesméthodeswFormHTML_cFormTop()etwFormHTML_cFormBottom()devotreclasseprocesspouryajouterducontenu"9119""1.
06","12-16-15","11-27-15","LookandFeel",,"awHTML","GridColumnHeaderwith.
Alignment=3(automatic)arenowproperlyaligned","Lesen-têtedegrilleavec.
Alignment=3sontalignéscorrectement"9120""1.
06","12-16-15","11-27-15","LookandFeel",,"awHTML","SupportforGridColumnautomaticalignment(.
Alignment=3)basedonControlSourcetype","Supportdel'alignementautomatiquedescolonnesdegrille(.
Alignment=3)selonletypeduControlSource"9121""1.
06","12-16-15","11-26-15","Fix",,"awAppHostawAJAX","GridsinaformunderdefaultdataSessionnolongerloosetheirrecordSource/ControlSource","LesgrillessituéesdansunécranfonctionnantensessiondedonnéespardéfautneperdentplusleurrecordSource/ControlSource"9122""1.
05","11-25-15","11-24-15","Fix",,"all","ASSERT…MESSAGElongerthan120charsdisplayonWindows64-bitplatform,thoughtruncatedto120chars","LesASSERT.
.
.
MESSAGEd'unlongueursupérieureà120caractèress'affichentsurplate-formeWindows64bits,tronquésà120caractères"9123""1.
05","11-25-15","11-23-15","Fix",,"aw.
vcx!
awFrm","wMessageBox():'this.
method'syntaxsupportedastuFormCallBackparameter","wMessageBox():lasyntaxe'this.
method'estacceptéecommevaleurdeparamètretuFormCallBack"9124""1.
05","11-25-15","11-23-15","Fix",,"aw.
vcx!
awFrm","wForm():saferdetectionofcontrolwhereeventoriginatesfrom","wForm():identificationplusfiableducontrled'oùestoriginairel'événementayantdéclenchéwForm(9125""1.
05","11-25-15","11-22-15","Fix",,"awAJAX","Betterdetectionofcursorsbuiltbyqueryingaremotedatabase","Meilleurefiabilitédeladétectiondesaliasdetypecurseurconstruitsparrequêtesurunebasedistante"9126""1.
05","11-25-15","11-19-15","Productivity",,"awProcessawAJAX","Informstitlebar(buildwithxxxProcess.
wFormStandardForm()),addedalinksendinganemailtoapplicationsupportmanagerincaseoftrouble","DanslabarredetitredesformulairesconstruitsavecxxxProcess.
wFormStandardForm(),lienpermettantd'envoyerunemailauresponsabledusupportdel'applicationencasdedéfaillance"9127""1.
05","11-25-15","11-19-15","LookandFeel",,"awProcess","YoucannowoverridexxxProcess.
wFormHTML_cCaption()tocustomizeformcaption","VouspouvezsurchargerlaméthodexxxProcess.
wFormHTML_cCaption()pourpersonnaliserletitredevosformulaires"9128""1.
05","11-25-15","11-19-15","Enhancement",,"awAJAX","ChangingTextbox.
passwordCharfromempty()to!
emtpy()issupportedinbrowser('*'isbrowserdefault)","LechangementdeTextbox.
passwordChardevideànonvideestsupportésurlebrowser(par'*',défautdesnavigateurs)9129""1.
05","11-25-15","11-19-15","Fix",,"awAJAX","CursorswithavaryingstructureandrecordSourceofoneorseveralgrid(s)areproperlyrestoredwhenuserchanges","Lescurseursdontlastructurechangeselonlecontexted'exécutionetquisontrecordSourced'unegrillesontmieuxrestaurésquandl'utilisateurchange"9130""1.
05","11-25-15","11-18-15","Productivity",,"awAppConfig","NomoreASSERTwhenanoptionalpathismissingorinvalid","Plusd'ASSERTquanduncheminoptionnelestmanquantouinvalide"9131""1.
04","11-08-15","10-25-15","Fix",,"awHTML","Checkbox.
Enabled=.
F.
mappedtodisabled=""disabled""asdoesnotsupportreadonlythesamewayasVFP(usercanstillchangecontrol'svalue)","Checkbox.
Enabled=.
F.
convertieendisabled=""disabled""carsupportereadonlydifféremmentdeVFP(l'utilisateurpeutmodifierlavaleurducontrle)9132""1.
04","11-08-15","10-25-15","LookandFeel",,"awProcess","BackHome()methodadded.
Returnstositerootvirtualdirectory;requiresadefaultpageinrootvirtualdirectory","LaméthodeBackHome()aétéajoutée.
Retourneàlaracinedusite(nécessiteunepagepardéfaut)9133""1.
04","11-08-15","10-15-15","Productivity",,"awServerawAppHost","PropertyawServer::cFormsLaunchAtStartupisrenameduFormsLaunchAtStartupandacceptsthevalue.
T.
tolaunchallapplication'sformsatstartup(inexcesstopassing.
T.
asfirstparametertomainprogram).
PleasemakesureyourenamethispropertyinyourawServersubclass(es)","LapropriétéawServer::cFormsLaunchAtStartupestrenomméeuFormsLaunchAtStartupetacceptelavaleur.
T.
pourlancertouslesformulairesdel'applicationaudémarrageduserveur(enplusdepouvoirpasser.
T.
commepremierparamètreauprogrammeprincipal).
Merciderenommercettepropriétédansvotreouvossous-classesdeawServer.
9134""1.
04","11-08-15","10-14-15","LookandFeel",,"awAJAXawProcess","Whenuserauthenticationexpires,sitemovesdirectlytohomepagewithoutdisplayinganerrormessage","Quandl'identificationdel'utilisateurexpire,lesiteretournesurlapaged'accueilsansmessaged'erreur"9135""1.
04","11-08-15","10-13-15","Productivity",,"awHTML","Linkedresourcessuchasimagesandxmlarerelativetositevirtualforindependencetositeconfiguration","LesressourcesliéescommelesimagesetlesfichiersXMLsontrelativesaurépertoirevirtuelracine,doncindépendantesdelaconfigurationdusite"9136""1.
04","11-08-15","10-13-15","Fix",,"awHTML","ImprovedCSSdeclarationsComboboxrenderingimproved","DéclarationsCSSamélioréesRendudeslistesdéroulantesamélioré9137""1.
04","11-08-15","10-13-15","Productivity",,"awAppConfig","ASSERToninvalidfolderpathesinFoxInCloudApplicationServer.
inifile","ASSERTsurlesadressesdedossiersinvalidesdanslefichierdeconfigurationduserveurFoxInCloud"9138""1.
04","11-08-15","10-11-15","LookandFeel",,"awHTML","Gridprocessingoptimization:about30%faster","Traitementdesgrillesoptimisé:gaind'environ30%9139""1.
04","11-08-15","10-08-15","LookandFeel",,"awHTMLawAppHost","ObjectstylesareallinCSS,nolongerinHTMLpage.
FormHTMLpagesloadfasterandCSSoverridecanbedoneobjectperobject.
REGENERATEyourawDefaultAll.
cssby:DOWITH.
T.
","LesstylesdesobjetssontdanslaCSS,plusdanslecodeHTML.
LespagesHTMLdesformulaireschargentplusrapidementetlesurclassageCSSestpossibleobjetparobjet.
REGENEREZvotreawDefault.
csspar:DOWITH.
T.
9140""1.
03","09-22-15","09-22-15","Learning",,"aw.
vcx!
awFrmxxxProcess","Userauthenticationmethodsdocumented:wUserSet()andwUserGet()","Documentationdesméthodesdegestiondel'identificationdesutilisateurs:wUserSet()etwUserGet(9141""1.
03","09-22-15","09-18-15","LookandFeel",,"awProcess","awProcess::wFormStandardPage():formtitlebarandclosebuttonrespectVFPformsettings","MéthodeawProcess::wFormStandardPage():labarredetitreetleboutondefermeturerespectentlesréglagesduformulaireoriginalVFP"9142""1.
03","09-22-15","09-18-15","Security",,"awPublic.
prg","wlUserAnonymous()functionindicatingifcurrentwebuserisanonymous","FonctionwlUserAnonymous()indiquantsil'utilisateurWebcourantestanonymeouidentifié9143""1.
03","09-22-15","09-18-15","LookandFeel",,"awProcess","SystemmenusupportwithxxxProcess::wFormHTML_cMenu()andxxxMenu.
xls","SupportdesmenussystèmeavecxxxProcess::wFormHTML_cMenu()etxxxMenu.
xls"9144""1.
03","09-22-15","09-16-15","Supportextension",,"aw.
vcx!
awFrm","DefiningcallbackmethodassecondparameterofawFrm::wForm():supportssyntax'this.
wFormCallBack'","DéfinitiondelaméthodecallbackcommesecondparamètredeawFrm::wForm():supportelasyntaxe'this.
wFormCallBack'9145""1.
03","09-22-15","09-15-15","Fix",,"aw.
vcx!
awFrm","MissinggraphicsnowincludedinTrialdistribution","ImagemanquantedésormaisinclusedansladistributionTrail"9146""1.
03","09-22-15","09-15-15","Supportextension",,"awPublic.
prg","wActiveForm(),wActiveControl()andwThisFormActiveControl()inreplacement,resp.
,of_Screen.
ActiveForm,_Screen.
ActiveControlandthisForm.
ActiveControl","wActiveForm(),wActiveControl()etwThisFormActiveControl()enremplacementderespectivement_Screen.
ActiveForm,_Screen.
ActiveControletthisForm.
ActiveControl"9147""1.
03","09-22-15","09-15-15","Fix",,"aw.
prg","AddedmissingSETPROCEDURETOawAppHost.
fxpADDITIVE","Ajoutéuneinstructionmanquante:SETPROCEDURETOawAppHost.
fxpADDITIVE"9148""1.
02","09-09-15","09-06-15","Fix",,"awServer","Protectionagainstduplicateentriesinlistofpropertiestosave(.
wcPropSave)causingexponentialgrowthwhensaving","Protectioncontrelespropriétésàsauvegardésdupliquéesdanslaliste.
wcPropSave,causantuneaugmentationexponentielledelatabledesauvegarde"9149""1.
02","09-09-15","09-06-15","Fix",,"awServer","Indevelopmentmode,currentformisnolongeractivatedinIDEtoavoidlostFocus()andorvalid()eventstotrigger","Enmodedéveloppement,l'écrancourantn'estplusactivédansl'IDEafind'éviterledéclenchementd'événementscommelostFocus()etvalid(9150""1.
02","09-09-15","08-31-15","LookandFeel",,"awServer","awServer.
wUserDemomayopenseveralsessionssimultaneously","awServer.
wUserDemopeutouvrirplusieurssessionssimultanément"9151""1.
02","09-09-15","08-31-15","Fix",,"awAJAX","BetterCRLFhandlinginEditBox()","MeilleuregestiondesCRLFdansleseditBox(9152""1.
02","09-09-15","08-27-15","Security",,"admin.
asp","'Updatecodeonline'andcommentedbecausetoodifficulttousemanually;ALWAYSusestandardawStart.
prg!
awServerUpload()procedureinstead.
Retrofit:inallyoursites,manuallyreplace""admin.
asp""filebythisversion.
","Lelienetledemiseàjourdel'applicationdeproductioncommentéeparFoxInCloudcard'uneutilisationtropdélicate;àlaplace,TOUJOURSutiliserlaprocédurestandardawStart.
prg!
awServerUpload()Miseenplace:danstousvossites,remplacerlefichier""admin.
asp""parcetteversion.
9153""1.
02","09-09-15","08-27-15","Productivity",,"awServerwwRequestLog","Formnameaddedinthe'cFormReq'fieldtoeaseAJAXrequestsdebugging","PourfaciliterledéboguagedesrequêtesAJAX,lenomduformulairefiguredanslechamp'cFormReq'9154""1.
02","09-09-15","08-26-15","Fix",,"FICstart.
exe","Compileinstalled\Tools\AB\*.
prgtokeep*.
fxpinsyncasVFPrarelydoesthatcorrectly,evenwithSETDEVELOPMENTON;Screen=OFFResource=OFF","Compile\Tools\AB\*.
prgcarVFPnelefaitpastoujoursbien,mêmeavecSETDEVELOPMENTON;Screen=OFFResource=OFF"9155""1.
01","08-25-15","08-24-15","Fix",,"awSession","Sessiontablecreatedatfirstrun","Latabledesessioncrééeàlapremièreexécution"9156""1.
01","08-25-15","08-24-15","Localization",,"All","ImprovedlocalizationinEnglish","Localisationenanglaiscomplétée"9157""1.
01","08-25-15","08-13-15","Productivity",,"awAppHost","Improveddataformattingin_screen-basedRequesttrackingtable","Meilleurformattagedesdonnéesdansletableaudesuividesrequêtesaffichédansle_screen"9158""1.
01","08-25-15","08-11-15","Security",,"awAppHostawAJAX","CompleteCOMserverprotectionagainstmodalstates","AméliorationdelaprotectiondesserveursCOMcontrelesétatsmodaux"9159""1.
01","08-25-15","08-11-15","Supportextension",,"awAJAX","Alias()issavedandrestoredbetweenuserevents","Alias()estsauvegardéetrestauréàchaquerequêteutilisateur"9160""Version","dTarget","dDone","Benefit","Contribute","Module","en","fr","de","es","it","pt""2.
32.
0","TBA","TBA","Supportextension","Sr.
ArcadioBianco","FAA(awAdapter)","SetxxxGrd.
memberClasstoxxxGrcofxxx.
prg(asawGrcofawPublic.
prg)Benefits:.
supportEventsonColumnandHeaderwithoutBindEvent()--reuseyouroriginaleventcode.
FoxInCloudstandardmethods(eg.
.
wFormCallBack*().
FoxInCloudstandardpropertiessuchas.
wlContentDynamic(membersalteredatrun-time)and.
wcPropSave*REQUIREStoRE-ADAPTtheprojectusingFAA.
Retrofit:1-re-adaptyourdesktopprojectusingFAA;2-IfyourprojectalreadyhasaprojectHook(prj),makesuretoexecuteinprj.
Init():SETPATHTO(JustPath(_VFP.
ActiveProject.
Files('xxx.
prg')))ADDITIVE;otherwisere-adaptingtheprojectusingFAAassignsxxxPrjofxxx.
vcx(asawPrjofaw.
vcx)asprojectHooktotheproject","RéglerxxxGrd.
memberClass=xxxGrcofxxx.
prg(asawGrcofawPublic.
prg)Benefices:.
supportdesévénementsauniveaudelaColonneetdesonEn-têtesansrecouriràBindEvent--réutilisationpossibleducodeoriginel.
MéthodesstandardFoxInCloud,parex.
.
wFormCallBack*().
PropriétésstandardFoxInCloud,parex.
.
wlContentDynamic(membresmodifiablesàl'exécution)and.
wcPropSave*NCESSITEDER-ADAPTERleprojetavecFAAApplicationàdesprojetsdéjàadaptés:1-ré-adapterleprojetdesktoporiginalavecFAA;2-SivotreprojetadéjàunprojectHook,exécutezdansson.
Init():SETPATHTO(JustPath(_VFP.
ActiveProject.
Files('xxx.
prg')))ADDITIVE;sinonFAAassignexxxPrjofxxx.
vcx(asawPrjofaw.
vcx)commeprojecthook.
",,,,"2.
32.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Modifiedpropertiesidentification(aw.
vcx!
aw.
wcPropSave):identifynativepropertiesthataremodifiedbyotherobjectsorclasses[automatedadaptation]","Identificationdespropriétéssauvegardées(aw.
vcx!
aw.
wcPropSave):identifierlespropriétésnativemodifiéesseulementpard'autresobjetsouclasses[adaptationautomatique]",,,,"2.
32.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:replaceDELETEFILEbywDeleteFile(file,@result)","Adaptationautomatique:remplacerDELETEFILEparwDeleteFile(file,@result)",,,,"2.
32.
0","TBA","TBA","Enhancement","Mr.
PaulElliot","abOOP.
prg","objectOfXML():restorearraypropertiestoclassvalues","objectOfXML():restaurerlespropriétéstableauàlavaleurdelaclasse",,,,"2.
32.
0","TBA","TBA","Enhancement","Sr.
ArcadioBianco","awAppHost.
formLaunch","Logerrorsoccurredwhileinstantiatingforms","Historiserleserreurssurvenuesaulancementdesformulaires",,,,"2.
32.
0","TBA","TBA","Enhancement",,"FoxInCloud-status","IgnoreerrorsoccurredinawFrmLogError","IgnorerleserreurssurvenuesdansawFrmLogError",,,,"3.
0.
0","TBA","TBA","Supportextension",,"aw*.
prg","UpgradetocurrentWest-WindWebConnectversionMainbenefitsbroughtbythismigration:-easierdeploymentandupgrade(.
net-basedwebConnectionModule.
dllreplacingwc.
dll)-enchancedUTF-8supportAnticipatedbehaviorchanges:-debugmodeisevaluatedatruntimeratherthancompiletime-SendadministrativeemailsusingwwSMTPinsteadofdeprecatedwwIPstuff","MiseàjourverslaversioncourantedeWest-WindWebConnectPrincipauxbénéficesattendusdecettemigration:-déploiementfacilitégrceàwebConnectionModule.
dllbasésur.
netquiremplacewc.
dll-meilleursupportdeUTF-8Changementsdecomportementanticipés:-DEBUGMODEestévaluéàl'exécutionaulieudelacompilation-EnvoyerlesemailsadministratifsavecwwSMTPaulieudewwIPstuff(déprécié)",,,,"3.
01.
0","TBA","TBA","Enhancement","MrTuviaVinitsky","aw.
vcx!
awFrmawHTMLawAJAX","Multipleinstancesofthesameform","Instancierlemêmeformulaireplusieursfois",,,,"287""3.
01.
0","TBA","TBA","Enhancement",,"awAJAX",".
PropsRestore_DS():viewsofviewsaresupportedRequeryingviewsnowtakescareof'from'et'where'clausedependencies",".
PropsRestore_DS():vuesdevuessupportéesRétablirlesvuesselonlesdépendancesdefrometwhere",,,,"3.
01.
0","TBA","TBA","Supportextension","MrTuviaVinitsky","aw.
vcx!
awFrmawProcess","SupportallLocaleID,codepage,andFontCharSetsupportedbyVFP","SupportertouslesLocaleID,codepage,ouFontCharSetsupportésparVFP",,,,"3.
01.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","CodeinForm.
member.
Init():warndeveloperthat,thismethodbeingexecutedonlyoncewhenFormisinstantiated,allcodedependingonuser'sprofile(ID,right,etc.
)shouldbeexecutedeitherinthis.
Refresh()(preferably),orthisForm.
Init()","Codedans.
Init()desmembresdesformulaires:avertirque,cetteméthoden'étantexécutéequ'unefoislorsqueleformulaireestinstancié,toutcodedépendantdel'utilisateurdoitêtreexécutédansthis.
Refresh()(depréférence),oudansthisForm.
Init()",,,,"3.
01.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:wExist(),wVisible(),etc.
:replacebyawPublic.
prg!
wwExist(),wwVisible(),etc.
;inwwExist(),wwVisible(),etc.
,ASSERTinWebmodetowarnthatthisfeatureisnotsupported","Adaptationautomatique:wExist(),wVisible(),etc.
:remplacerparawPublic.
prg!
wwExist(),wwVisible(),etc.
;danswwExist(),wwVisible(),etc.
,ASSERTenmodewebpouravertirquecesfonctionsnesontpassupportées",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awFrmawServer","property.
wlFullScreentoresizemasterformstofullbrowserscreeninWebclassicmode","Propriété.
wlFullScreenpourafficherlesécransmatreenpleinécrannavigateurenmodeWebclassique",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awServer.
prgFWAD","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx):improvelinktoformerror","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx):améliorerleliendétaillantleserreursd'unformulaire",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awServer.
prgFWAD","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx):detailedresponsetimeperformmemberobject,event,user","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx):détaildestempsderéponseparobjetdeformulaire,événement,utilisateur",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awServer.
prgFWAD","FoxInCloudWebApplicationDashboard(http://…/FoxInCloud-Status.
xxx):additionalhintstoimproveresponsetime","TableaudeBordAppWebFoxInCloud(http://…/FoxInCloud-Status.
xxx):nouveauxconseilspouraméliorerlestempsderéponse.
",,,,"3.
02.
0","TBA","TBA","Supportextension",,"LiveTutorial","InstallaFoxInCloudLiveTutorialinstanceusingVFPAdvanced64bit","InstalleruneinstanceduTutorielVivantFoxInCloudcompiléeavecVFPAdvanced64-bit",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awServer.
prg","Automaticallyarchivetherequestlogatserverstartup","Archiverautomatiquementl'historiquedesrequêtesaudémarrageduserveur.
",,,,"3.
02.
0","TBA","TBA","Enhancement",,"awHTML","SupportthisForm.
wcScriptJS*()forgridmembers","SupporterthisForm.
wcScriptJS*()pourlesmembresdegrille",,,,"3.
02.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:Replace.
'_Screen.
ActiveForm'by'wActiveForm()',.
'thisForm.
ActiveControl'by'wActiveControl()'","Adaptationautomatique:Remplacer_Screen.
ActiveFormparwActiveForm(),thisForm.
ActiveControlparwActiveControl()releasethisFormparthisForm.
release",,,,"3.
02.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Issueawarningif'SUSPEND'isfoundincode(wouldhangtheWebapplication)","Générerunavertissementsil'instruction'SUSPEND'esttrouvéedanslecode(pourraitbloquerl'applicationWeb)",,,,"3.
02.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:awOLEPDFxcclassorsub-class;replaceby","Adaptationautomatique:ClasseawOLEPDFxcousous-classe:remplacerpar",,,,"3.
03.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Insourcemode,automaticallybackupproject'ssourcefilesbeforestartingautomatedadaptations.
","Enmodesource,sauvegarderautomatiquementlecodesourceduprojetavantl'adaptationautomatiqueducode",,,,"3.
03.
0","TBA","TBA","Learning",,"foxincloud.
com","'Optimizingdatamanagement'how-toGuide:PrivatevsDefaultDatasession,tables,viewsandcursors,grid.
recordSource","Guidepratique'Optimiserlagestiondesdonnées':Sessiondedonnéesprivéeoupardéfaut,tablesvuesetcurseurs,grid.
RecordSource",,,,"3.
03.
0","TBA","TBA","Learning",,"foxincloud.
com","'SettingApplicationEnvironment'how-toGuide:SETs,publicvariables,sharingenvironmentsettingswithLANversion","Guidepratique'Réglerl'Environnentdel'application':SETs,variablespubliques,partagedesréglagesd'environnementavecl'applicationLAN",,,,"3.
03.
0","TBA","TBA","Learning",,"foxincloud.
com","'FoxInCloudunderthehood'how-toGuide:referenceguideexplainingFoxInCloudarchitectureandhowarequestgetsprocessedacrossthevariouslayersoftheFoxInCloudstack:Browser,FoxInCloud.
js,WebServer,West-WindWebConnect,FoxInCloudApplicationServer,thirdpartywidgetssuchasActiveWidgets","'DanslesentraillesdeFoxInCloud':guidederéférenceprésentantl'architecturedeFoxInCloudetdétaillantleparcoursd'unerequêteautraversdesdifférentescouchesdelapileFoxInCloud:Navigateur,FoxInCloud.
js,WebServer,West-WindWebConnect,FoxInCloudApplicationServer,thirdpartywidgetssuchasActiveWidgets",,,,"3.
03.
0","TBA","TBA","Licensing",,"awProcess","SecuredFiCLicenseadministrationpagewithon-linepayment","Paged'administrationdesCASsécuriséeavecpaiementenligne",,,,"3.
04.
0","TBA","TBA","Lookandfeel","MrTuviaVinitsky","aw.
vcxawAJAX","wMessageBox(0|1)ifwMessageBox()hasparameternDialogBoxType=0(OKbuttononly)or1(OKorCancel),offerdeveloperanoptiontousestandardjavascriptwindow.
alert()orwindow.
prompt()insteadofxxx.
vcx!
xxxFrm.
wcMessageBoxClass(bydefaultaw.
vcx!
awFrmMBorsubclassforapplication)","wMessageBox(0|1)SiwMessageBox()aleparamètrenDialogBoxType=0(boutonOKseulement)ou1(OK/Cancel),offriraudéveloppeuruneoptionpourutiliserledialoguejavascriptstandardwindow.
alert()ouwindow.
prompt()aulieudexxx.
vcx!
xxxFrm.
wcMessageBoxClass(pardéfautsous-classedeaw.
vcx!
awFrmMBpourl'application)",,,,"3.
04.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:Error()method:inWebproductionmode,createanexceptionobjectandTHROWittoFoxInCloud'smainTRYCATCH","Adaptationautomatique:MéthodeError():enmodeWebdeproduction,généreruneexceptionetTHROWauTRY…CATCHFoxInCloud",,,,"3.
04.
0","TBA","TBA","Localization",,"*.
prgaw.
vcx","N/A","N/A","N/A","ASSERTmensajesselocalizanenespaol","N/A","3.
04.
0","TBA","TBA","Localization",,"*.
prgaw.
vcx","LocalizeallASSERTmessagesintoEnglish","N/A","N/A","N/A","N/A","3.
05.
0","TBA","TBA","Productivity",,"FAA(awAdapter)","Third-partymodules:improveidentificationandsegregationbetweenFoxInCloudcertifiedandothers","Modulestiers:préciserlesmodulescertifiésFoxInCloudetlesautres",,,,"3.
05.
0","TBA","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","'ToolBar'and'Separator'BaseClassesaresupported","Lesclassesdebase'ToolBar'et'Separator'sontsupportées",,,,"3.
05.
0","TBA","TBA","Learning",,"foxincloud.
com","'ImplementingUserAuthentication'how-toGuide:whatFoxInClouddoes,whatneedsbeimplementeddependingonwhethersecurityimplementationisApplication-basedorForm-based","Guidepratique'Implémenterl'identificationdesutilisateurs':cequefaitFoxInCloud,cequeledéveloppeurdoitimplémenterselonquelasécuritéestgéréeauniveaudel'application(objetglobalapplicationousécurité),ouauniveaudechaqueformulaire",,,,"3.
05.
0","TBA","TBA","Localization",,"*.
prgaw.
vcx","N/A","N/A","N/A","Losmódulosylasdescripcionesdelosparámetrosselocalizanenespaol","N/A","3.
05.
0","TBA","TBA","Localization",,"*.
prgaw.
vcx","Modulessignatures(purpose,parametersdescriptionsandreturnedvalue):localizeintoEnglish","N/A","N/A","N/A","N/A","3.
05.
0","TBA","TBA","Localization",,"aw.
vcx","N/A","N/A","N/A","DescripcionesdePEMselocalizanenespaol","N/A","3.
06.
0","TBA","TBA","Optimization",,"awHTMLawAJAX","OptimizegridstatesaveandconversionintoHTML/JavaScript(fasterexecution)","Optimiserlasauvegardedel'étatdesgrilleetlaconversionenHTML/JavaScript(exécutionplusrapide)",,,,"3.
06.
0","TBA","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","GetColor():supportthroughwGetColor()/aw.
vcx!
awFrmGC","GetColor():supportéparwGetColor()/aw.
vcx!
awFrmGC",,,,"3.
07.
0","TBA","TBA","Enhancement",,"awHTML","Form.
resize()supportinclassicmode:useCSSrelativemeasurements(%);controlsresizeswhileformisresized,allresizinghappensonclientusingCSS,servernoislongerinvolved:fasterandsmoother.
[12Jul.
2018]postponeduntilallbrowserssupportCSS3directive{width|height:available;}","Supportdeform.
resize()enmodeclassique:support100%CSSenutilisantlesmesuresrelatives(%)Lescontrlesseredimensionnentaufuretàmesureduredimensionnementdel'écran,géréà100%surleclientparCSS,plusdecalculsurleserveur,plusrapideetprogressif.
[12Juil.
2018]reportéenattendantquetouslesnavigateurssupportentladirectiveCSS3{width|height:available;}",,,,"3.
07.
0","TBA","TBA","Supportextension",,"awServer","Whenrestoringdatasession,cursor(s)notpartofuser'sdataSessionaliasesareUSEDIN.
Note:cursorspartofuser'sdataSessionnotcurrentlyUSEDarereCREATEdandpopulatedwithuser'sdata(FICstandardbehavior)","Lorsdurétablissementdelasessiondedonnées,lescurseurscourammentouvertsquinefontpaspartiedelasessiondedonnéesdel'utilisateursontfermés.
Note:lescurseursfaisantpartiedelasessiondedonnéesdel'utilisateurcourammentnonUSEdsontautomatiquementreconstruitsetremplisparlesdonnéesdel'utilisateur(comportementFICpardéfaut)",,,,"3.
07.
0","TBA","TBA","Learning",,"abModule","HittingF10launchesFoxInCloudModuleExplorerwhich:-allowssearchingamongmodulesbycriteriasuchasname,type,keywordindescription,-addsmodulessignaturetoVFPintellisense(case,parametersanddescription)[formerly'AbaqueModuleExplorer']","LatoucheF10lancel'explorateurdemoduleFoxInCloudqui:-permetdechercherunmodulepartype,nomoumotclédanssadescription,-ajouteàl'intellisenseVFPlasignaturedesmodules(casse,paramètresetleurdescription)[antérieurement'ExplorateurdemodulesAbaque']",,,,"3.
07.
0","TBA","TBA","Learning",,"foxincloud.
com","PresentFoxInCloudroadmapasafilterablelist,allowusertosuggestnewentriesand/ormodificationtocurrententries","PrésenterlaroadmapFoxInClouddansunelistefiltrable,permettreauxutilisateursdesuggérerdenouvellesétapeset/oudesévolutionssurlesétapesactuelles",,,,"3.
08.
0","TBA","TBA","Lookandfeel",,"awHTMLawAJAX","ForcontrolswithDisabled*properties(e.
g.
Commandbutton),createa.
disabledCSSclassinsteadofchangingHTMLelement'sstyleproperties","PourlescontrlesayantdespropriétésDisabled*(parex.
Commandbutton),créeruneclasseCSS.
disabledaulieudemodifierlestyledel'élément",,,,"3.
08.
0","TBA","TBA","Lookandfeel",,"awProcess","NewprotectedmethodinordertodecidewhethererrorshouldbepresentedtotheuserorsenttoApplicationAdministratoronly.
","Nouvelleméthodepermettantdedécidersiunmessaged'erreurestprésentéàl'utilisateurousimplementenvoyéàl'administrateurdel'application",,,,"3.
09.
0","TBA","TBA","Supportextension",,"FoxInCloud.
jsawAJAX","Event'DragDrop'issupportedonserver","L'événement'DragDrop'estsupportésurleserveur",,,,"3.
10.
0","TBA","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","OLEClass'MSComctlLib.
ListViewCtrl.
2'[MicrosoftListViewControlV6(SP4)]issupported","LaOLEClass'MSComctlLib.
ListViewCtrl.
2'[MicrosoftListViewControlV6(SP4)]estsupportée",,,,"3.
10.
0","TBA","TBA","Supportextension",,"FoxInCloud.
jsawAJAX","Event'Scrolled'issupportedonserver","L'événement'Scrolled'estsupportésurleserveur",,,,"3.
10.
0","TBA","TBA","Supportextension",,"awHTMLawAJAX","Supportform.
Visible","Supporterform.
visible",,,,"3.
10.
0","TBA","TBA","Lookandfeel",,"wc.
ini","ProvideasetofstandardFoxInClouderrorpages","Fournirunjeudepagesd'erreurFoxInCloud",,,,"3.
10.
0","TBA","TBA","Lookandfeel",,"awSetupawHTML","ProvideasetofstandardFoxInCloudCSSstylesheetstoeasilyupgradewebapplication'slookandfeel","FournirunjeudefeuillesdestylesFoxInCloudstandardpouraméliorerfacilementlelookandfeeldel'applicationweb",,,,"3.
11.
0","TBA","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","OLEClass'MSComctlLib.
ProgCtrl.
2'[MicrosoftProgressBarControl6.
0(SP4)]issupportedforasynchronousprocesses","LaOLEClass'MSComctlLib.
ProgCtrl.
2'[MicrosoftProgressBarControl6.
0(SP4)]estsupportéepourlesprocessusasynchrones",,,,"NONE","NONE","NONE","Supportextension",,"aw.
vcxawAJAXawHTML","'FormSet'BaseClassissupported","Laclassedebase'FormSet'estsupportée",,,,"TBA","TBA","TBA","Enhancement","v&u","awServerFoxInCloud.
js","Callbackmethodcanbeamemberofanobjectstoredineitheraglobalvariableora_Screen.
propertySofarCallbackmethodscouldonlybemembersofformorformmembers","Uneméthodederappel(call-back)peutêtremembred'unobjetréférencéparunevariableglobaleouune_Screen.
propriété.
Jusqu'àprésent,lesméthodesderappelsnepouvaientêtrequemembresd'unformulaireoud'unmembredeformulaire.
",,,,"TBA","TBA","TBA","Learning",,"foxincloud.
com","'DevelopingaFoxInCloudApplicationServer'how-toGuideaboutthewholeprocessofdevelopment,fromcreatingtheprojecttodeploymentonthetargetmachine;referencesotherhow-toguides","'DévelopperunServeurd'ApplicationFoxInCloud':guidepratiqueprésentantladémarcheglobalededéveloppementd'uneapplicationWebFoxinClouddepuislacréationduprojetjusqu'audéploiementsurlamachinedeproductioncible;référencelesautresguidespratiques",,,,"TBA","TBA","TBA","Productivity",,"FAA(awAdapter)","Automatedadaptation:movecall-backcodetoacall-backmethodifnovariabledependenciesisdetectedwithinthiscode","Adaptationautomatique:déplacerlecodedecallbacksiaucunedépendancedevariablen'estdétectéedanscecode",,,,"TBA","TBA","TBA","Productivity",,"FAA(awAdapter)","IfanadaptationfeatureispartofFoxInCloudroadmap,mentionversionandscheduleddateinadaptationhints","Sil'adaptationfaitpartiedelaroadmap,indiquerlaversionetladateprévisionnelledanslescommentairesd'adaptation",,,,"TBA","TBA","TBA","Productivity",,"FAA(awAdapter)","Memberobjectsreferencedbytheirdefaultname(e.
g.
COLUMN1):warndeveloperthatthisnamemayberesettoadifferentdefaultifmemberobjectsarereconstructed(e.
g.
gridcolumnrebuiltwhenRecordSourcechanges)","Membresdeconteneursréférencésparleurnompardéfaut(e.
g.
COLUMN1):avertirqu'ilspeuventêtrerenommésencasdereconstruction(parex.
reconstructiond'unegrille)",,,,"TBA","TBA","TBA","Learning",,"FAA(awAdapter)","Whenadaptationiscoveredbyahow-toguide,providealinktotheon-linehow-toguide","Quanduneadaptationfaitl'objetd'unguideenligne,fournirunlienhypertexteversceguide",,,,"TBA","TBA","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","'Hyperlink'BaseClassissupported","Laclassedebase'Hyperlink'estsupportée",,,,"TBA","TBA","TBA","Lookandfeel",,"awAJAXawHTML","SupporttheDHTMLxwidgetslibrary","SupporterlabibliothèquedewidgetsDHTMLx",,,,"TBA","TBA","TBA","Lookandfeel",,"awAJAXawHTML","SupporttheSencha/ext.
jswidgetslibrary","SupporterlabibliothèquedewidgetsSencha/ext.
js",,,,"TBA","TBA","TBA","Supportextension",,"Thirdparty","AdaptVisualPromatrixtoFoxInCloud(FiCCertified)","AdapterVisualPromatrixàFoxInCloud(FiCCertified)",,,,"TBA","TBA","TBA","Supportextension",,"Thirdparty","AdaptVisualMaxFrametoFoxInCloud(FiCCertified)","AdapterVisualMaxFrameàFoxInCloud(FiCCertified)",,,,"TBA","TBA","TBA","Supportextension",,"Thirdparty","Adaptctl32toFoxInCloud(FiCCertified)","Adapterctl32àFoxInCloud(FiCCertified)",,,,"TBA","TBA","TBA","Supportextension",,"awPublic.
prg!
wReportForm()","wReportForm()usingeitherFoxyPreviewer,XFRXorFRX2Any","wReportForm()avecFoxyPreviewer,XFRXouFRX2Any",,,,"TBA","TBA","TBA","Optimization","M.
GregoryAdam","aw.
vcxawAJAX","Identifymodifiedpropertiesatruntimeinsteadofdesigntime","Identifierlespropriétésmodifiéesparunerequêteàl'exécutionaulieudelesdéfiniràlacréationdelaclasse/objet",,,,"Version","dTarget","dDone","Benefit","Contribute","Module","en","fr","de","es","it","pt","Internal","dAdded","awAdapt","awRoadmap","After","FIC","mdFIC","Partner","mdPartner","Total","%""2.
20",,,"Enhancement","TuviaVinitsky","awProcess","xxx.
jsexecuteslastExecutingxxx.
jsafterallother*.
js,especiallyform.
js;allowstooverride,withtheappropriatescope(application,form,controland/orclass),anyactiontakenbythese*.
js;note:youcanalsoappendjavascriptinstructionstoform.
jsbyusingawHTMLgen.
cScriptJSAdd_()likeinthisexample:proceduresomeClassOrObject.
wcHTMLgenlparameterstoHTMLgenASawHTMLgenOFawHTML.
prg,tlInnerHTML&&awHTMLgeninstance&&[.
F.
]rendercontainer'sinnerHTMLm.
toHTMLgen.
cScriptJSadd_('someJavaScriptinstruction(s)')","xxx.
jss'exécuteendernierExécuterxxx.
jsaprèstouslesautres*.
jspermetdesurcharger,auniveauvoulu(application,formulaire,contrleet/ouclasse)lesactionsréaliséesparlesdits*.
js;note:vouspouvezaussiajouterdesinstructionsJavaScriptàlafindeform.
jscommedanscetexemple:proceduresomeClassOrObject.
wcHTMLgenlparameterstoHTMLgenASawHTMLgenOFawHTML.
prg,tlInnerHTML&&instancedeawHTMLgen&&[.
F.
]Rendrel'intérieurduconteneurm.
toHTMLgen.
cScriptJSadd_('instructionsJavaScript'234",,"THN"02-01-04""3.
07","ERROR","TBA","Supportextension",,"aw.
vcxawAJAXawHTML","OLEClass'MSComCtl2.
MonthView.
2'[MicrosoftCalendarControlV6(SP4)]issupported","LaOLEClass'MSComCtl2.
MonthView.
2'[MicrosoftCalendarControlV6(SP4)]estsupportée"71",,"THN","5",,,"5","ERROR""2.
23.
0","42705","TBA","Lookandfeel",,"awAJAXawHTML","SharecodebetweenawAJAXandawHTMLMakessurethatHTML/CSS/JSinitialrenderingandsubsequentevolutionsduringusereventsrunthesamesub-classablemethods","PartagerlecodeentreawAJAXetawHTMLAssurequelagénérationinitialedeHTML/CSS/JSetleursévolutionsultérieuressontexécutéesparlesmêmesméthodessous-classables"40",,"1",,"01-02-21","12-16-20""user","full",,"trial","betatester""pre-release""patch""other""release:ladernièreendatepardéfaut"
RAKsmart 商家这几年还是在做事情的,虽然他们家顺带做的VPS主机并不是主营业务,毕竟当下的基础云服务器竞争过于激烈,他们家主营业务的独立服务器。包括在去年开始有新增多个数据中心独立服务器,包括有10G带宽的不限流量的独立服务器。当然,如果有需要便宜VPS主机的他们家也是有的,比如有最低月付1.99美元的美国VPS主机,而且可选安装Windows系统。这里商家有提供下面六款六月份的活动便宜V...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款到网站余额,超过2天...
racknerd在促销美国洛杉矶multacom数据中心的一款大硬盘服务器,用来做存储、数据备份等是非常划算的,而且线路还是针对亚洲有特别优化处理的。双路e5+64G内存,配一个256G的SSD做系统盘,160T SAS做数据盘,200T流量每个月,1Gbps带宽,5个IPv4,这一切才389美元...洛杉矶大硬盘服务器CPU:2 * e5-2640v2内存:64G(可扩展至128G,+$64)硬...
fontawesome为你推荐
!圈i申国电子政务发展调查报告三星itunes支持ipad支持ipadxp如何关闭445端口系统怎么关闭445端口win10445端口windows server2008怎么开放4443端口win7telnet怎样开启Windows7系统中的Telnet服务联通iphone4联通iphone4怎么样,好不好用?win7还原系统win7如何一键还原?ios10.0.3ios10.0.2与i0S10.3.3区别
windows虚拟主机 cn域名个人注册 香港vps99idc burstnet cpanel 好看的桌面背景图片 免费静态空间 500m空间 河南移动邮件系统 ntfs格式分区 广州服务器 服务器干什么用的 php空间购买 linux服务器维护 免费cdn 实惠 阿里云邮箱登陆 xuni 网站加速 国内空间 更多