Well, it sounds like you're doing something wrong with the entry name for dictionaries being added to the container dictionary. Can you tell if the single entry you end up with is always the last one you created? If so, that would seem to indicate that you're setting the same entry over and over, and you should look closely at the dictionary key you're generating.
On that note, I'm not 100% sure you can use a straight up number as your entry name. That may be allowed, but it seems odd to me. When I do this kind of thing, I usually name it something like 'entry1', 'entry2', etc.. You're using Qt, so it'd be pretty easy to get that by using arg():
I'd try building the entry name into a stand alone variable so you can debug and see what it looks like before it gets passed to the SetDictEntry() call. I suspect you'll find that somehow, it's not changing the way you want it to.
Thanks for your reply Patterson,
I've checked each entry with alert box. It was different.
Problem was while creating Key.
AIDictKey key = sAIDictionary->Key("keyName");
Changing code to like I'm doing above worked for me.
And you're right about the Key entry creation part. I'm exactly doing what you explained. Thanks for mentioning that.