Hi
That is correct. Object user data is not transferred when assigning because of the risk of memory leakage (ownership of the memory).
You should manually transfer the user data to the new object, e.g.
oldObj := GetObj( OldIndex );
newObj := GetObj( NewIndex );
newObj^.UserData := oldObj^.UserData;
newObj^.UserDataLength := oldObj^.UserDataLength;
oldObj^.UserData := nil;
oldObj^.UserDataLength := 0;
Nigel
Xequte Software
www.imageen.com