Kbase P114660: OpenEdge 10 session crashes using Microsoft ListView control version 5 due to empty SubItems
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  02/06/2009 |
|
Status: Verified
SYMPTOM(s):
Using Microsoft ImageList and Microsoft ListView ActiveX controls supplied in COMCTL32.OCX
There are no values assigned to SubItems
Using assignment block similar to the following:
ASSIGN
chItem = chListItems:ADD(sequenceValue,
uniqueID,
"Test",
1,
1)
chItem:SubItems(1) = "SubItems1" WHEN "chk1" = "chk2"
chItem:SubItems(2) = "SubItems2"
chItem:SubItems(3) = "SubItems3"
chItem:SubItems(4) = "SubItems4"
chItem:Tag = "ItemTag"
.
Progress session crashes when the code is run
Stack trace from COMCTL32.DLL reads:
DLLGetDocumentation
Stack trace from VSAPI.DLL reads:
vsFileMove
vsPropGetB
vsUnregisterWindow
DllStartup
Same code runs properly in Progress 9.1x
FACT(s) (Environment):
OpenEdge 10.0B
OpenEdge 10.1A
Windows
CHANGE:
Upgraded from Progress 9
CAUSE:
This is a bug in the ActiveX control.
FIX:
Upgrade to Microsoft ListView Control 6.0 (SP6) or later.
- OR -
Assign a value to the sub-item, even if it is an empty string. For the sample code above, use IF THEN ELSE function in place of WHEN to ensure that the first sub-item is assigned a value. For example:
chItem:SubItems(1) = IF "chk1" = "chk2" THEN "SubItems1" ELSE ""