Fangbeast wrote:
I'm using code I don't quite understand (Pointers throw me) and a particular line is throwing a "Pointer is Null" error at me and I don't understand why.
It happens when I click ont he column header of a ListIconGadget but the item does in fact have items to be sorted so should it be not null?.
Like ts-soft wrote, we are missing some code.
But adding a little check in your source would not hurt :
Code:
Procedure CompareFunc(*item1.PB_ListIconItem, *item2.PB_ListIconItem, lParamSort)
If *item1 And *item2
Protected result = 0
lvi\iSubItem = lParamSort
lvi\pszText = Buffer1
lvi\cchTextMax = 512
lvi\Mask = #LVIF_TEXT
SendMessage_(GadgetID(#Gadget_items), #LVM_GETITEMTEXT, *item1\UserData, @lvi)
lvi\pszText = Buffer2
SendMessage_(GadgetID(#Gadget_items), #LVM_GETITEMTEXT, *item2\UserData, @lvi) ; Pointer is null error at this line
Protected Seeker1 = Buffer1
Protected Seeker2 = Buffer2
Protected done = 0
Protected char1
Protected char2
While done = 0
char1 = Asc(UCase(Chr(PeekB(Seeker1))))
char2 = Asc(UCase(Chr(PeekB(Seeker2))))
result = (char1 - char2) * updown
If result <> 0 Or (Seeker1 - Buffer1) > 511
done = 1
EndIf
Seeker1 + 1
Seeker2 + 1
Wend
EndIf
ProcedureReturn result
EndProcedure