Troy, the following is declared in listkey.h (th the end): virtual long Index (long iindex) { SetToElement (arraypos); return Index (); } My question is: Shouldn't iindex used for the call of SetToElement() ?? I have not changed the line to SetToElement(iindex) because I don't know why arraypos is used and because you know what you are doing. Joachim