RTC Forums

Subscription => Support => Topic started by: sunstone on October 26, 2010, 03:29:16 AM



Title: A another bug
Post by: sunstone on October 26, 2010, 03:29:16 AM
Dear,

When you delete a friend in the client demo (RTC_Messenger), the deleted friend still exists after you login next time.

On the other hand, if you use isnull(info.asRecord['friends'].isNull[friend_name] := True;) to set its value to NULL, the node of friend_name still exists. When you save the infomation (SaveInfo(uname, info);), the filesize (UserDataFileName + 'User.' + uname + '.info') will be increased,because of the deleted friend node still exists.This deleted friend node is useless.

So when the user deletes more friends, the filesize (UserDataFileName + 'User.' + uname + '.info') will be larger. How to solve the problem?

Best regards,
Sunstone


Title: Re: A another bug
Post by: sunstone on October 29, 2010, 02:24:42 PM
 :(


Title: Re: A another bug
Post by: sunstone on November 09, 2010, 01:28:09 PM
not bug?


Title: Re: A another bug
Post by: D.Tkalcec (RTC) on November 11, 2010, 12:29:49 AM
A field which is once created in a TRtcRecord structure will continue existing inside that structure even after its value was set to NULL. That's not a bug but simply how the TRtcRecord class was *designed* to work. Even a NULL value is a value.

Please note that the primary purpose of TRtcValueObject and its descendant classes is to transport object information between Clients and Servers. The fact that it can also be used for keeping and storing information locally is useful but it's not vital for the RTC SDK. If you do not like that behavior, you can change your Messenger Server implementation to use something else for storing user information, there is nothing forcing you to use TRtcValue objects for local data storage.

Best Regards,
Danijel Tkalcec