Gilles reported that FAA wrongly adapted MessageBox() in independent procedure as wMessageBox('', eMessageText[, nDialogBoxType[, cTitleBarText[, nTimeout]]])
This is an issue; we'd appreciate some code sample to fix it.
Meanwhile, to avoid replacing all the incorrect instances in your adapted code, you may modify awPublic.prg!wMessageBox() as follows.
Please provide your feedback on this fix so that we can confirm it in coming version 1.40.
Thanks
* =============================================================FUNCTION wMessageBox && {en} MessageBox() _W/O MODAL RETURN_ in LAN or Web mode {fr} MessageBox() _SANS RETOUR MODAL_ en mode LAN ou Web&& _MODAL_ MessageBox():&& - form member method: use thisForm.wMessageBox()&& - standalone procedure or function: NOT SUPPORTEDLPARAMETERS ; eMessageText,; && cf. VFP MessageBox() nDialogBoxType,; && cf. VFP MessageBox() cTitleBarText,; && cf. VFP MessageBox() nTimeout,; && cf. VFP MessageBox() uParm5 && in case of abnormal call wMessageBox('', m.eMessageText[, m.nDialogBoxType[, m.cTitleBarText[, m.nTimeout]]]) eMessageText = Evl(m.eMessageText, '')LOCAL lnParm, loForm AS awFrmMB OF aw.vcx, llResult lnParm = Max(1, Pcount())IFEmpty(m.eMessageText) && abnormal call wMessageBox('', m.eMessageText[, m.nDialogBoxType[, m.cTitleBarText[, m.nTimeout]]]) lnParm = Max(1, m.lnParm - 1) eMessageText = m.nDialogBoxType nDialogBoxType = m.cTitleBarText cTitleBarText = m.nTimeout nTimeout = m.uParm5ENDIFIF m.lnParm >= 3 AND Vartype(m.nDialogBoxType) == 'C'&& dans les anciennes versions de VFP, nDialogBoxType et cTitleBarText peuvent être inversésLOCAL lnDialogBoxType lnDialogBoxType = m.nDialogBoxType nDialogBoxType = m.cTitleBarText cTitleBarText = m.lnDialogBoxTypeENDIFIF wlLAN()RETURN ICase(; m.lnParm = 1, MessageBox(m.eMessageText),; m.lnParm = 2, MessageBox(m.eMessageText, m.nDialogBoxType),; m.lnParm = 3, MessageBox(m.eMessageText, m.nDialogBoxType, m.cTitleBarText),;MessageBox(m.eMessageText, m.nDialogBoxType, m.cTitleBarText, m.nTimeout); )ELSE llResult = wlProcess() && requête en coursASSERT m.llResult MESSAGE cAssertMsg(Textmerge(ICase(; cLangUser() = 'fr', [Aucune requête en cours, MessageBox('<<m.eMessageText>>') est ignoré],; && copy-paste this line to add another language support[No pending user request, MessageBox('<<m.eMessageText>>') is ignored]; && Default: English )))IF m.llResult loForm = CreateObject([wMESSAGEBOX_CLASS]) && cf. #DEFINE wMESSAGEBOX_CLASS in awPublic.h / awPublic_Override.h llResult = loClass(m.loForm, 'awFrmMB')ASSERT m.llResult MESSAGE cAssertMsg(Textmerge(ICase(; cLangUser() = 'fr', [Votre classe d'écran de "MessageBox" '<<m.loForm.Class>>' devrait dériver de 'aw.vcx!awFrmMB'],; && copy-paste this line to add another language support[Your "MessageBox" form class '<<m.loForm.Class>>' should derive from 'aw.vcx!awFrmMB']; && Default: English )))IF m.llResultIF ICase(; m.lnParm = 1, loForm.Init(m.eMessageText),; m.lnParm = 2, loForm.Init(m.eMessageText, m.nDialogBoxType),; m.lnParm = 3, loForm.Init(m.eMessageText, m.nDialogBoxType, m.cTitleBarText),; loForm.Init(m.eMessageText, m.nDialogBoxType, m.cTitleBarText, m.nTimeout); ) AJAX.DialogAdd(m.loForm)ENDIFENDIFENDIFRETURN 0 && pour rester en numériqueENDIF
Thierry Nivelet (FoxInCloud)
Never explain, never complain (Queen Elizabeth II)