我现在面临的问题完全让我觉得我根本不懂编程.我有一个TDictionary对象,由TDate =对组成. TEvent(自定义类).该对象用于由两个单独的应用程序共享的类(它们不通信).在一个应用程序中,以下
// Get recipes from the very event. Tmp := FCalendar.ContainsKey(D); if (Tmp) then begin E := FCalendar[D]; CopyRecipes(E); end;
另一方面,同一段代码在其他应用程序中不起作用!怎么可能?我附上了调试器中发生的事情的屏幕截图:
如您所见,密钥存在于字典中,但ContainsKey()返回FALSE.
是什么造成的?
问候,
Patryk.
通过使用DateOf
删除日期时间的时间部分来解决问题.每当收到日期值时,您都必须使用DateOf,并且在添加到字典之前清楚.