社区
硬件/系统
帖子详情
我的MFC程序为什么在英文版的XP下不能打开它对应的文件?
fish_kun
2008-05-27 02:17:01
我做了一个基于MFC文档/视图结构的软件,并且指定了它对应的文件类型(扩展名)。
现在遇到一个很麻烦的问题,我将一些此软件对应的文档刻录到光盘上,并用这个软件打开,在任何版本的XP,2000都没有任何问题,唯独在英文版的XP下不能打开光盘上的文件,并弹出“Argument error”的对话框。
问各位大虾,何解啊?
...全文
121
19
打赏
收藏
我的MFC程序为什么在英文版的XP下不能打开它对应的文件?
我做了一个基于MFC文档/视图结构的软件,并且指定了它对应的文件类型(扩展名)。 现在遇到一个很麻烦的问题,我将一些此软件对应的文档刻录到光盘上,并用这个软件打开,在任何版本的XP,2000都没有任何问题,唯独在英文版的XP下不能打开光盘上的文件,并弹出“Argument error”的对话框。 问各位大虾,何解啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fish_kun
2008-05-29
打赏
举报
回复
好不容易查找到了一片文档:
http://support.microsoft.com/kb/842748
FIX: 对于 Visual Studio NET 2003 中有效数据的 COleStreamFile 对象: GetStatus 函数返回无效
但还不是很清楚。
palmax
2008-05-29
打赏
举报
回复
你打开文件前,把文件路径用messagebox看看
fish_kun
2008-05-29
打赏
举报
回复
查找到了一篇文章:
http://support.microsoft.com/kb/842748
FIX: 对于 Visual Studio NET 2003 中有效数据的 COleStreamFile 对象: GetStatus 函数返回无效
好像是关于这个问题的。
不知道各位有没有遇到过类似的。
zgl7903
2008-05-28
打赏
举报
回复
把资源中的所有东西的语言类型修改为English
lxt2004
2008-05-28
打赏
举报
回复
在中文系统下开发英文版即使不使用中文也会有问题
到英文版的系统重新编译
fish_kun
2008-05-28
打赏
举报
回复
我的这个软件本来就是英文版本的,在代码,资源,包括代码中的注释,没有一个中文字。
至于文档的名字,压根就没用中文,包括文档里面的内容(此文档是xml格式的)。
cnzdgs
2008-05-28
打赏
举报
回复
你调试看看执行到哪里出错。
fish_kun
2008-05-28
打赏
举报
回复
我开发的就是英文版的程序啊,没有用任何中文,包括注释,而且文档的名字,里面的内容没有一处用到了中文。
fish_kun
2008-05-28
打赏
举报
回复
对不起各位,我发现这个问题是只在英文版中出现,而跟XP是否是SP1没有关系,而且此英文版如果装了任何一种语言支持,都不会出现这个问题了,我有搜索到好像这需要安装VS2003的SP1就可以解决这个问题,但我还不是很清楚。
cnzdgs
2008-05-28
打赏
举报
回复
你始终没有说出是执行哪行代码引起的错误,所以没法判断具体的原因。从“Argument error”来看,可能是程序中调用的某个函数在SP1和没有SP1的环境下参数的用法有所不同。
Chenbitian
2008-05-28
打赏
举报
回复
我遇到过这样的一个问题,我做的程序要求删除它自己目录下生成的几个数字命名的文件夹,结果在简体xp、英文xp、简体2003、vista等系统下都测试通过,只有在繁体xp下到时候出现有时候删除不掉的情况,没有目录问题。因为是时不时出现的,所以到现在还没有想到是什么原因造成的。
fish_kun
2008-05-28
打赏
举报
回复
想问一下大家,这是XP的一个bug吗?有没有官方的说明啊?
fish_kun
2008-05-28
打赏
举报
回复
最新发现出现问题的英文版XP没有安装SP补丁,如果装了SP1就没有这个问题了。
fish_kun
2008-05-28
打赏
举报
回复
对了,我忘了说了,这个软件是个多语言版本,有法语和西班牙语,但是我是用的unicode的编码,而且它们是作为dll存在的,如果我只使用英文,这两个dll不会被调用,而英文的资源语言类型全是English,所以问下楼上的两位:
1,为什么需要在英文版系统下重新编译。
2,为什么需要将所有东西的语言类型修改为English.
对不起,不好意思!!
我还忘了说的就是我的软件是在英文版(其中装了中文语言支持,并且区域设置为中国)下编译的,在此环境下打开光盘中的文件是没问题的。
但在单纯的英文版(没有装任何多语言支持)下会打不开光盘中的文件。
my_girlf
2008-05-27
打赏
举报
回复
可能是程序中字符集的问题
打开文件的时候系统会进行转换,光盘是只读的,所以转换不成功则打开失败,你拷到硬盘上,硬盘上的文件默认不是只读的,系统会转换成功,则可以打开。可以测试一下,你把拷到硬盘上的文件的属性设为只读,打开试试。
举一个例子,比如在繁体的系统下解压文件名为简体的压缩文件,是不会成功的,而把文件名改成英文或繁体就可以正常解压。
scq2099yt
2008-05-27
打赏
举报
回复
中文跟英文操作系统的差别是什么?
所以还是有可能是字符集的问题,可能你的程序中用到了中文。
fish_kun
2008-05-27
打赏
举报
回复
我只在
英文版
的XP下出现这个问题。
在英文版的XP下不能打开光盘中的文件,但如果将光盘中的文件拷贝到硬盘上就可以打开。
而在中文版的XP下,光盘中的文件能够打开。
所以和文件是否只读没有关系
和中文名称问题也没有关系
我光盘上的文档没有包含任何中文,另外文档的编码是unicode。
aa3000
2008-05-27
打赏
举报
回复
中文名称问题?
cnzdgs
2008-05-27
打赏
举报
回复
调试看看哪行代码出的问题,相关参数是怎么给的。光盘与硬盘的差别主要是光盘上的文件都是只读的。
支持POP3的
MFC
类CPop3Connection v1.11
一个支持POP3(Post Office Protocol Version 3)的
MFC
类CPop3Connection v1.11,这对正在写电子邮件
程序
的朋友很有用
MFC
程序
中文版转
英文版
原文地址:http://blog.csdn.net/akof1314/article/details/6321628 越来越多的
程序
支持多语言切换,或者能自动适应当前系统语言,让自己开发的
程序
支持多语言不仅可以让自己的
程序
被国人使用,也能让外国
程序
爱好者使用。VC开发多语言
程序
有多种方法,或读取配置
文件
,或使用不同资源DLL等等。这里介绍以资源形式实现多语言版本。 1.
打开
Vi
MFC
程序
入口和执行流程
一
MFC
程序
执行过程剖析 1)我们知道在WIN32API
程序
当中,
程序
的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到
程序
窗口的消息调用
程序
的窗口函数。而在
MFC
程序
当中我们不在能找到类似WinMain这样的
程序
入口,取而代之的是一系列派生类的声明和定义以及一个冲CWinApp类派生而来的类的全局对象。CWinApp类被称之
MFC
程序
执行流程
MFC
程序
的执行流程为,首先创建一个名为test的
MFC
工程则在源
文件
目录会产生一个test.cpp
文件
。在test.cpp中CtestApp类会产生一个theApp的全局对象。首先要明白,在
程序
执行main函数之前会先生成全局对象,并执该类的构造函数。则
MFC
程序
的开始为生成theApp全局对象,然后
程序
继续执行进入main函数。
MFC
的main函数在appmodul.cpp
文件
当中为: tW...
MFC
关闭应用
程序
在写
MFC
程序
(单对话框
程序
)时发现,如果删除了取消按钮,那这个
程序
就没有关闭的方法了,如果想实现点击右上角叉号关闭
程序
就不行了,因为右上角的×号只能关闭Windows窗口
不能
关闭你的进程。 我在网上差了一下午,下面是我的解决方案 WM_CLOSE: 在系统菜单里选择了“关闭”或者点击了窗口右上角的“X”按钮,你的窗口过程就会收到WM_CLOSE。DefWindowProc对WM_CLO
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章