LoadFrame(MFC)仅在澳大利亚出现故障
LoadFrame (MFC) failing only in Australia
我们的团队有一个困扰我们的错误。
以下代码返回false:
CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
{
AfxMessageBox(GetStr(IDS_MAINFRM_FAIL_TO_LOAD));
ASSERT(FALSE);
return FALSE;
}
我们正在使用VS2010进行编译,并且我们确实安装了RogueWave Stingray组件。CMainFrame是基于CMDIFrameWnd并由BCGSoft制作的CBCGPMDIFrameWnd。
我们的软件在全球约100台机器上运行,没有任何问题。它在Windows7-10x86&x64。它一直有效,直到本周。澳大利亚米尔杜拉的一小群人报告了一个问题。对于所有运行WIN7x86Enterprise和Win10x64Home的应用程序,上面的代码片段都返回false。我亲自检查了他们的一台机器(Win10x64Home),一切似乎都很正常。
我已经尝试删除该项目的RES和APS文件。那也无济于事。
有人知道问题出在哪里吗?我愿意接受有根据的猜测。
提前感谢!
PS:新信息:这看起来是个时间问题。在计算机上,所有UTC+都失败了,并且UTC0&UTC-通过。我们不确定原因。如有任何帮助,我们将不胜感激。谢谢
我们使用epoch作为起点,对经过的时间戳进行TimeDate计算MFC不允许日期早于epoch,因此所有UTC+都无法创建日期。此错误已修复。谢谢大家。
这是导致问题的代码(已修复)。我们增加了一天的工作时间,使一切正常。CTime::CTime(1970,1,1,0,0)w/UTC+,在1970年1月1日之前在伦敦,失败。
谢谢!
CTime t1 = CTime::CTime(yearInt,monthInt,dayInt,0,0,0);
CTime t2 = CTime::CTime(1970,1,2,0,0,0);
CTimeSpan timeSpan = t1-t2;
versionDate = timeSpan.GetDays() + 1;
相关文章:
- 分段故障(堆芯转储)矢量
- C++中的动态铸造故障
- 数组的指针从不分段故障
- vscode g++链路故障:体系结构x86_64的未定义符号
- 访问被拒绝后,c++中的故障保护代码
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 调试 CUDA MMU 故障
- Geeksforgeeks C 程序故障排除:IEE 754 表示法为十进制
- Arch Linux.AUR 包 mysql 不能用 makepkg 构建.错误:构建 () 中出现故障
- 正在处理故障(堆芯转储)
- 在 Boost::fiber 中引发的BOOST_ASSERT故障 Visual Studio "Debug" 构建
- 如何进行故障排除:未定义对"非虚拟 thunk to ..."的引用
- C++函数过载会导致 SEG 故障
- 分段故障 运行C++代码时出现 SIGSEGV
- 当新的故障时,是否有必要留出一些紧急内存?
- Python & C-C++ 扩展模块案例段故障
- 带升压的 SEG 故障::make_shared / 特征3 内存.h.
- 在 c++ 中,发生故障后是否需要 stream.clear()?
- 分段故障背包问题
- LoadFrame(MFC)仅在澳大利亚出现故障