현재 직면하고있는 문제로 인해 전혀 프로그래밍을 이해하지 못하는 느낌이 들었습니다. 난 TDictionary
TDate => TEvent (custom class)
쌍으로 구성되어있는 개체가 있습니다. 객체는 두 개의 개별 응용 프로그램에서 공유하는 클래스에서 사용됩니다 (통신하지 않습니다). 하나의 응용 프로그램에서, 다음이 제대로 작동 : 다른 한편으로키가 존재 함에도 불구하고 TDictionary.ContainsKey가 false를 반환합니다.
// Get recipes from the very event.
Tmp := FCalendar.ContainsKey(D);
if (Tmp) then
begin
E := FCalendar[D];
CopyRecipes(E);
end;
는 동일한 코드 조각은 다른 응용 프로그램에서 작동하지 않습니다! 어떻게 가능합니까? 디버거에서 발생한 문제의 스크린 샷을 첨부했습니다.
키가 사전에 표시되어 있지만 ContainsKey()
은 FALSE
을 반환합니다.
이 문제의 원인은 무엇입니까?
감사합니다. Patryk.
한 응용 프로그램에서 작동하고 다른 응용 프로그램에서는 작동하지 않는다는 것을 어떻게 설명 할 수 있습니까? – Pateman
'D'와'Key' 캐스트를'TDateTime'으로 보시면 그 차이가 보입니다. 그 코멘트에있는 질문에 관해서는, 당신은 조금 많이 묻고 있습니까? –
사실, 나는 범죄를 의미하지는 않았다. 당신 말이 맞아요. 'DateOf()'를 사용하면 문제가 해결됩니다. 고마워, 데이빗! – Pateman