In our KB there is a reference "See issue# 20040319008 on www.possenet.progress.com" which points to nowhere ...
How can I find the information regarding this issue.
Thanks in advance,
Richard.
This is a bug number. The bug was actually a dupe of another bug number: 20040802-022 which is fixed in 10.0B02,10.1A,D2.1B.
Details below:
Public Description
When you have a rowDisplay procedure in browsercustom.p and you have a
custom super procedure for a dynamic browser without a rowDisplay procedure,
then the row-display trigger isn't registered in browser.p because it only
looks in the first super-procedure for the rowDisplay procedure in the
super-procedure stack of the browser.
HDANIELS (08/02/04):
QA: In addition to the described case also verify that rowDisplay trigger is
NOT defined automatically when no supers has a rowdisplay entry. This can be
done by adding a row-display trigger in a static browser and ensuring it is
fired at runtime.
HDANIELS (08/02/04):
Bug 20040319-008 was already entered for this. It was marked as DUP of this.
MBAKER (11/30/04): Made copies of browsercustom.p, browser.p,
ry/obj/rydynbrowb.w.
Created a rowDisplay in browsercustom.p and modified browsercustom.i to
launch the browsercustom.p super.
Also added an empty super procedure to my dynamic browser and ran the
window.
The rowDisplay in browsercustom.p fired as expected for each row in the
browser.
Description
Workaround
No workaround, but we do have a fix:
In browser.p's initializeObject procedure we did this:
/* The following links the ROW-DISPLAY trigger in with the rowDisplay
procedure or to support scrolling of the remote query.*/
.
/* Check also for rowDisplay in custom super. */
/* Organi - 2004/03/20 - rowDisplay procedure should be searched in all
super procedures */
/* hTarget = WIDGET-HANDLE(ENTRY(1, TARGET-PROCEDURE:SUPER-PROCEDURES)).
*/
/* IF hTarget NE THIS-PROCEDURE
*/
/* AND LOOKUP('rowDisplay', hTarget:INTERNAL-ENTRIES) NE 0 THEN
*/
/* lRowDisplay = YES.
*/
define variable iSuper as integer no-undo.
do iSuper = 1 to num-entries(target-procedure:super-procedures):
hTarget = widget-handle(entry(iSuper,
target-procedure:super-procedures)).
if hTarget ne this-procedure and
lookup('rowDisplay', hTarget:internal-entries) ne 0 then
do:
lRowDisplay = yes.
leave.
end. /* then */
end. /* do iSuper = 1 to ... */
/* End organi - 2004/03/20 */
IF lScrollRemote OR lRowDisplay THEN
ON ROW-DISPLAY OF hBrowse PERSISTENT RUN rowDisplay IN TARGET-PROCEDURE.
RUN SUPER.
Fix/Close Information
Check for rowDisplay entry in all supers under browser.p
Web Explanation
internal
rowDisplay trigger not always registered
Modified Files
- adm2/browser.p
Thanks very much for the helpful information.
Best regards,
Richard.
Hi Richard,
Can you let me know the solution number for that issue and I will see if it needs updating.
TIA
Molly