Problem/Issue 4634
 
Query for PDR ID
Example: search for PDR ID 109-9999 , just enter 9999 into the entry field and press ENTER.
Open Build: Open Date: Language:
1.70.267 19.09.2001 (All)
Closed Build: Close Date: Platform:
1.80.274 20.12.2001 WIN32
State: Reference PDR ID: Hotfix Rollup No.:
CLOSED    
Symptom:
XbpQuickbrowse/PagedDatastore might fail with runtime error
Description:
DacPagedDatastore might crash with a runtime error when used in a
quickbrowse when scrolling up under certain circumstances.

Case 1: QBROWSE1 sample from the source\samples\basics\qbrowse folder:
- Start sample
- press CTRL-PGDN
- hold UP key pressed
- "Error in array index" occurs

Case 2: QBROWSE2 sample from the source\samples\basics\qbrowse folder:
- Start sample
- a) Type in number 22 (pointer moves to last row, and only
     last row is displayed)
  b) Move about half page down, select 1st wisible row,
- Maximize window
- Try to move up (with scroll bar, wheel, keyborad ...)
  "Error in array index" occurs









Solution:
Problem has been solved. Download the fix here. This issue does not
exist in future versions.

If this is not applicable, try the following:

As a workaround, use this class instead of the built in DacPagedDatastore
class:

#define WA4634
#ifdef WA4634

// overloaded PDS class to fix PDR 4634
CLASS MyDacPagedDatastore FROM DacPagedDatastore
EXPORTED:
   INLINE METHOD ScrollRowBuffer( nDirection )
      LOCAL nRow := ::aRowData[::nCurrRow][1]
      LOCAL xRet := ::dacPagedDatastore:ScrollRowBuffer( nDirection )
      LOCAL oCurrentConsumer := ::oConsumer
      IF ::nCurrRow == 0
        ::nCurrRow := nRow + nDirection
        ::oConsumer := NIL
        ::refresh()
        ::oConsumer := oCurrentConsumer
      ENDIF
   RETURN xRet
ENDCLASS

#endif


 
(C) Copyright Alaska Software Inc. 2008, All rights reserved!
Disclaimer, Limitation of Liability, no Warranty: THE INFORMATION, DOCUMENTS, FILES AND MATERIALS CONTAINED IN THIS SITE ARE PROVIDED "AS IS". ALASKA SOFTWARE DOES NOT WARRANT THE ACCURACY, ADEQUACY OR COMPLETENESS OF THIS INFORMATION AND MATERIALS; THUS EXPRESSLY DISCLAIMS LIABILITY FOR ERRORS OR OMISSIONS IN THIS INFORMATION AND MATERIALS.
WARRANTIES OF ANY KIND, IMPLIED, EXPRESSED OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF NON-INFRINGEMENT OF THIRD PARTY RIGHTS, TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR RESOLVEMENT-CLAIMS, ARE DISCLAIMED.