奇怪的有关问题,工程改名后OpenDlg的默认位置不合理
奇怪的问题,工程改名后OpenDlg的默认位置不合理
用CB6.0的时候,常常在程序升级之后将project文件夹重命名"XX_1.2.3"形式,其中1.2.3特指新版本号,但这一招在C++Builder2009中出现错误,错误还很奇怪。
以上是错误代码.原工程文件夹名为"AM3.0",升级后改为"AM4.0",这时在使用OpenDialog备份access数据库文件时,默认地址指向的却是AM3.0的某个子目录。原工程已经被删除,那么这里当然会出现一个错误(Windows系统错误,提示所指向的磁盘或目录不存在),但是不影响使用,仍然可以继续选择正确的目标文件。
问题是,这个错误该如何消除呢?
我仔细检查了.cpp/.dfm/.cbproj/.cbproj.local文件,均没有发现AM3.0字样,并将所有.ojb文件和debug文件夹删除重新编译和构建,也仍然出现这个问题……
写到这里,似乎唯一的解释就是Windows7系统记住了这个EXE(名字未改变)的操作历史,并通过“系统记载的该程序操作历史”去指导OpenDlg控件行为。真的是这样吗?
------解决方案--------------------
顶一下,感谢楼主的热心.
------解决方案--------------------
关注一下,呵呵
用CB6.0的时候,常常在程序升级之后将project文件夹重命名"XX_1.2.3"形式,其中1.2.3特指新版本号,但这一招在C++Builder2009中出现错误,错误还很奇怪。
dlgOpen1->Title = "选择需要备份的数据文件";
dlgOpen1->InitialDir = ".\\";
dlgOpen1->Filter = "Access db files (*.mdb)|*.mdb|All file types (*.*)|*.*";
if (dlgOpen1->Execute())/////////////////error occur
{
if (FileExists(dlgOpen1->FileName))
{
strcpy (source_filename, ExpandFileName(dlgOpen1->FileName).t_str());
strcat (new_filename, ExtractFileName(dlgOpen1->FileName).t_str() );
}
}
以上是错误代码.原工程文件夹名为"AM3.0",升级后改为"AM4.0",这时在使用OpenDialog备份access数据库文件时,默认地址指向的却是AM3.0的某个子目录。原工程已经被删除,那么这里当然会出现一个错误(Windows系统错误,提示所指向的磁盘或目录不存在),但是不影响使用,仍然可以继续选择正确的目标文件。
问题是,这个错误该如何消除呢?
我仔细检查了.cpp/.dfm/.cbproj/.cbproj.local文件,均没有发现AM3.0字样,并将所有.ojb文件和debug文件夹删除重新编译和构建,也仍然出现这个问题……
写到这里,似乎唯一的解释就是Windows7系统记住了这个EXE(名字未改变)的操作历史,并通过“系统记载的该程序操作历史”去指导OpenDlg控件行为。真的是这样吗?
------解决方案--------------------
顶一下,感谢楼主的热心.
------解决方案--------------------
关注一下,呵呵