主题:QB开发的视窗程序竟然有这样的BUG
chaio58shen
[专家分:0] 发布于 2008-04-08 06:41:00
QB开发的视窗程序竟然有这样的BUG
在虎拟机中测试刚写的程序
在DOS下虚拟盘运行开发出来的MEILI.exe
命令按回车没动
想了好久
我把硬盘重新格式成FAT格式竟然成功执行
谁能帮我解决如此的BUG
NTF格式运行不了QB开发的视窗程序
FAT格式却可以运行QB开发的视窗程序
回复列表 (共49个回复)
板凳
chaio58shen [专家分:0] 发布于 2008-04-08 06:43:00
想了个通宵想不出所以然
3 楼
moz [专家分:37620] 发布于 2008-04-08 12:59:00
1. 我没明白你所谓的视窗程序是什么程序,
代码中间使用了些什么对象. API? 系统对象? 磁盘数据?
2. QB不是Windows下的语言,它所面向的是DOS,
一般情况下Windows会提供一个模拟器进行解释执行
例如新的32位CMD,还有兼容16位旧版本的Command
3. 你DOS下的虚拟盘是什么意思? 内存虚拟磁盘?
在我的印象中,除非你的程序使用到有关于Windows的权限限制或磁盘硬件操作,
否则,一般的代码只会在执行时全部载入内存去解释,
不管是NTFS,还是FAT16或FAT32,都不会出现问题,(不能读盘的我们不能包含进来说)
而在NTFS格式中的文件,很多时候有一个安全权限问题.例如你调用了另一个目录中的文件.
4. 严格来说,这不能说是漏洞.
5. 其他我没有注意到的问题.
4 楼
chaio58shen [专家分:0] 发布于 2008-04-08 21:48:00
实际上的问题就是NTFS的单分区磁盘
不能执行
FAT32的能执行
而执行的前提和我写的程序是什么都没有关系的
因为都在内存上运行
一个必要解决的原因是
是否
QBASIC开发的程序真的不能挂在硬盘为单NTFS分区的环境下运行
而只能挂在硬盘为单FAT32分区的硬盘上执行
所以我说会是很严重的BUG
程序属于内存运行却肯定的给磁盘分区的环境破坏的执行
5 楼
chaio58shen [专家分:0] 发布于 2008-04-08 21:49:00
大家进来看看吧
6 楼
moz [专家分:37620] 发布于 2008-04-09 00:43:00
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
G:\Documents and Settings\Administrator>e:
E:\>ver
Microsoft Windows XP [版本 5.1.2600]
E:\>chkdsk
文件系统的类型是 NTFS。
卷标是 DATA。
警告! 没有指定 F 参数
用只读模式运行 CHKDSK。
CHKDSK 正在校验文件(3 的阶段 1)...
文件校验完成。00。
CHKDSK 正在校验索引(3 的阶段 2)...
索引校验完成。00。
CHKDSK 正在校验安全描述符(3 的阶段 3)...
安全描述符校验完成。
CHKDSK 正在验证 Usn 日志...
Usn 日志验证完成。
总共有 164658185 KB 磁盘空间。
108973 个文件中有 110915464 KB。
10692 个索引 36560 KB。
不正确扇区 0 KB。
系统正在使用 228789 KB。
日志文件占用了 65536 KB。
磁盘上 53477372 KB 可用。
每个分配单元中有 4096 字节。
磁盘上共有 41164546 个分配单元。
磁盘上有 13369343 个可用的分配单元。
E:\>cd qbx
E:\QBX>inkey.exe
[color=ff00ff]Inkey.exe是用QBX编译的一个检查按键扫描码的程序,在这个时候,系统自动转用command解释16位代码环境执行,清除屏幕成功开始执行[/color]
49 49
50 50
51 51
52 52
56 56
0 72
0 75
0 77
0 80
27 27
E:\QBX>
[color=ff00ff]所以我不清楚你的问题是从哪里出现的,学习应该细心观察,虚心学习,我并没有说我的就是对的,我说的并不一定是对的,而且我对NTFS并不在行,但我并不认为这样就必定会出错,因为我的程序确确实实是成功执行了,你希望我会怎样的来认同你的观点呢?
所以反而让我觉得,你并没有去细心观察分析研究,到底问题出现在哪里。系统有没有给你提示?是怎样的出错?连程序都没有读? 还是读错了? 还是读了没执行? 还是执行过程中出错了? 你有没有在QBX环境中试运行? 到底是怎样的代码? 为什么你非要认为你的代码没有问题?
一出现问题,马上下结论,嗯,是这个系统的错,是它没有适应我的要求,是它没有满意我的愿望,所以就是它的错,而不是我的错。这可不是一个学习的好方向喔。[/color]
7 楼
houfujin [专家分:0] 发布于 2008-04-09 10:05:00
求QBWIN源代码。
8 楼
chaio58shen [专家分:0] 发布于 2008-04-09 15:00:00
请原谅我没讲清楚问题
现在我上传实例
[url=http://chaio58shen.ys168.com/]http://chaio58shen.ys168.com/[/url]
NTFS.RAR解压为NTFS单分区格式的的虚拟机
fat32.RAR解压为fat32单分区格式的的虚拟机
运行DOS.part1.rar
DOS.part2.rar
DOS.part3.rar
DOS.part4.rar
DOS.part5.rar
为分卷可启动ISO压缩包
下载后把此解压后的ISO挂进去
FAT32格式的能运行程序
NTFS格式的不能运行程序
就是不知道所以然
肯定是问题
不是问题我才不来问
[url=http://chaio58shen.ys168.com/]http://chaio58shen.ys168.com/[/url]
9 楼
chaio58shen [专家分:0] 发布于 2008-04-09 15:04:00
[quote]Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
G:\Documents and Settings\Administrator>e:
E:\>ver
Microsoft Windows XP [版本 5.1.2600]
E:\>chkdsk
文件系统的类型是 NTFS。
卷标是 DATA。
警告! 没有指定 F 参数
用只读模式运行 CHKDSK。
CHKDSK 正在校验文件(3 的阶段 1)...
文件校验完成。00。
CHKDSK 正在校验索引(3 的阶段 2)...
索引校验完成。00。
CHKDSK 正在校验安全描述符(3 的阶段 3)...
安全描述符校验完成。
CHKDSK 正在验证 Usn 日志...
Usn 日志验证完成。
总共有 164658185 KB 磁盘空间。
108973 个文件中有 110915464 KB。
10692 个索引 36560 KB。
不正确扇区 0 KB。
系统正在使用 228789 KB。
日志文件占用了 65536 KB。
磁盘上 53477372 KB 可用。
每个分配单元中有 4096 字节。
磁盘上共有 41164546 个分配单元。
磁盘上有 13369343 个可用的分配单元。
E:\>cd qbx
E:\QBX>inkey.exe
[color=ff00ff]Inkey.exe是用QBX编译的一个检查按键扫描码的程序,在这个时候,系统自动转用command解释16位代码环境执行,清除屏幕成功开始执行[/color]
49 49
50 50
51 51
52 52
56 56
0 72
0 75
0 77
0 80
27 27
E:\QBX>
[color=ff00ff]所以我不清楚你的问题是从哪里出现的,学习应该细心观察,虚心学习,我并没有说我的就是对的,我说的并不一定是对的,而且我对NTFS并不在行,但我并不认为这样就必定会出错,因为我的程序确确实实是成功执行了,你希望我会怎样的来认同你的观点呢?
所以反而让我觉得,你并没有去细心观察分析研究,到底问题出现在哪里。系统有没有给你提示?是怎样的出错?连程序都没有读? 还是读错了? 还是读了没执行? 还是执行过程中出错了? 你有没有在QBX环境中试运行? 到底是怎样的代码? 为什么你非要认为你的代码没有问题?
一出现问题,马上下结论,嗯,是这个系统的错,是它没有适应我的要求,是它没有满意我的愿望,所以就是它的错,而不是我的错。这可不是一个学习的好方向喔。[/color]
[/quote]
#***#
你的环境和我的不一样
你的是多分区多格式的
我的是单独一个主分区FAT32格式
或者单独一个主分区NTFS格式
10 楼
moz [专家分:37620] 发布于 2008-04-09 18:59:00
你用的是什么操作系统? Linux ??
你居然使用虚拟机来说事?
我回家试试看看再跟你理论.
我来回复