RE: treeview bug
- Posted by Matthew Lewis <matthewwalkerlewis at YAHOO.COM> Apr 25, 2001
- 480 views
-----Original Message----- From: Tone Skoda [mailto:tone.skoda at siol.net] >if i create more items in treeview and then delete them all and >again create two items it crashes. look at attached example. >i tried to debug win32lib but it's hard. I believe you've run into a bug I mentioned on this list several months ago. You'll need to change deleteItem: elsif window_type[ id ] = ListView then if pos = -1 then msg = LVM_DELETEALLITEMS iItem = 1 while iItem <= length( lvitem_owner ) do if lvitem_owner[iItem] = id then removeLVItem( iItem ) if iItem < length(lvitem_owner) then iItem += 1 end if else iItem += 1 end if end while else LV_FINDINFO = struct_LVFINDINFO( LVFI_PARAM, "", pos, 0, 0, 0) iItem = sendMessage( id, LVM_FINDITEM, -1, LV_FINDINFO ) + 1 release_mem(LV_FINDINFO) if not iItem then return 0 end if msg = sendMessage( id, LVM_DELETEITEM, iItem-1, lParam ) if msg then removeLVItem( pos ) end if return msg elsif window_type[ id ] = TreeView then msg = TVM_DELETEITEM if pos = -1 then lParam = TVI_ROOT -- changed to only delete items in the treeview specified iItem = 1 while iItem <= length( tvitem_owner ) do if tvitem_owner[iItem] = id then removeTVItem( iItem ) if iItem < length(tvitem_owner) then iItem += 1 end if else iItem += 1 end if end while else