I followed that path earlier but all the other keys match the string comparisons and they are all built in the same method.
[code] dim arsExistingChain(), sLinkTest, arsNewChain() as String
…
if arsNewChain.Ubound < arsExistingChain.Ubound + 1 then
DictRelations.Value(sLinkTest) = BuildJoinStrings(arsNewChain)
end if
else
DictRelations.Value(sLinkTest) = BuildJoinStrings(arsNewChain)
end if
Just for grins you might want to try reverting to the old Dictionary to see if the problem goes away. If it does, there’s a mysterious bug in the new Dictionary class that will need to be addressed. If it doesn’t, at least you can eliminate the dictionary as the cause.
FWIW, I will on occasion (like maybe twice a year) get code that absolutely should work - usually a boolean comparison of some sort - and after I’ve pulled out my remaining hair and pull out a bottle of wine, I shut down Xojo, clear the cache, and do a machine restart.
One of two things happens. One, I will finally notice where my boneheaded mistake is; or Two, the boolean comparison starts working again.
Grins worked. I wish I’d tried it before wasting half a day doubting my code. Overall I’ve had great luck with the new framework and am trying to use it whenever possible. I guess the lesson learned is to rule out the framework first then get back to self doubt
It sounds possible that this is the same issue that a handful of others have ran into, which is that Text and String values are treated as unique entities, regardless of their contents.
The odd thing is it is only the one item in the dictionary that is affected. I do believe the dictionary thinks it is text because if you create the entry again using the same code into the same dictionary you end up with both values. I assume one is considered text and the other string.