Kbase P129880: Error 4517 after ADM2 upgrade to OpenEdge
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  28/04/2008 |
|
Status: Unverified
FACT(s) (Environment):
Windows
OpenEdge 10.1B
SYMPTOM(s):
Error 4517 with pnavico.w toolbar
You cannot change the READ-ONLY attribute for <browse-widget> while that browser has focus. (4517)
ADM2 application written in Progress 9.1x
The application uses a customized version of the pnavico.w toolbar to sensitize the buttons depending on the records that are displayed in a browse.
Stack trace for the error is:
E:\Progress\101B\p23658_wmfmmedica.ab (E:\Progress\101B\p23658_wmfmmedica.ab) at line 3521
initializeObject E:\Progress\101B\p23658_wmfmmedica.ab (E:\Progress\101B\p23658_wmfmmedica.ab) at line 3737
openQuery adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 30041
openQuery adm2/query.p (D:\Progress\101B\gui\adm2\query.r) at line 16184
fetchFirst adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 7581
dataAvailable adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 4953
dataAvailable adm2/query.p (D:\Progress\101B\gui\adm2\query.r) at line 5445
openQuery adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 30041
openQuery adm2/query.p (D:\Progress\101B\gui\adm2\query.r) at line 16184
fetchFirst adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 7578
updateQueryPosition adm2/data.p (D:\Progress\101B\gui\adm2\data.r) at line 18098
setQueryPosition adm2/dataquery.p (D:\Progress\101B\gui\adm2\dataquery.r) at line 14064
queryPosition adm2/datavis.p (D:\Progress\101B\gui\adm2\datavis.r) at line 7914
updateMode adm2/datavis.p (D:\Progress\101B\gui\adm2\datavis.r) at line 9606
enableFields bmfmtratam.w (E:\Progress\101B\customers\Spain\W803070057\bmfmtratam.r) at line 5003
--> enableFields adm2/browser.p (D:\Progress\101B\gui\adm2\browser.r) at line 6729
CHANGE:
Upgraded ADM2 application from Progress 9.1x to OpenEdge 10.1B
CAUSE:
This is a known issue
FIX:
None at this time.
But there are two ways to work around the problem:
1. Either by customizing enableFields in browser.p - find the statement in enableFields where the browse read-only is set to false and add the fix code before and after.
end. /* do while valid-handle hColumn */
/* avoid error 4517 setting read-only when browse has focus */
/* Fix start */
if focus = hBrowse then
hBrowse:sensitive = no.
/* Fix end */
hBrowse:READ-ONLY = NO.
/* Fix start */
if hBrowse:sensitive = false then
hBrowse:sensitive = yes.
/* Fix end */
IF lSelected THEN
hBrowse:SELECT-FOCUSED-ROW() NO-ERROR.
2. Alternatively do the same in a local enableFields override in the browse object:
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO.
{get browseHandle hBrowse}.
if focus = hBrowse then
hBrowse:sensitive = no.
RUN SUPER.
if hBrowse:sensitive = false then
hBrowse:sensitive = yes.