回 帖 发 新 帖 刷新版面

主题:QB开发的视窗程序竟然有这样的BUG

QB开发的视窗程序竟然有这样的BUG
在虎拟机中测试刚写的程序
在DOS下虚拟盘运行开发出来的MEILI.exe
命令按回车没动

想了好久
我把硬盘重新格式成FAT格式竟然成功执行

谁能帮我解决如此的BUG

NTF格式运行不了QB开发的视窗程序
FAT格式却可以运行QB开发的视窗程序

回复列表 (共49个回复)

21 楼

忘了补充一点,
我昨晚试过第二项DOS启动,没成功.

22 楼

不可理喻
不懂就说不懂
明明的MSDOS竟然说FREEDOS
里面不是有个DOS98吗
你可以直接挂在软驱镜像里启动也一样的

23 楼

就算是FREEDOS也是MSDOS的扩展本
连高楼起于地基你都不知道
应当扣MOZ 50000分
我扣你分不给你加分扣MOZ 50000分把专家两个字去掉

24 楼

问题根本不上DOS版本的问题
问题是NTFS不能运行
FAT32能运行

看清楚
不是我没讲清楚

25 楼

[quote]忘了补充一点,
我昨晚试过第二项DOS启动,没成功.[/quote]


就是有一个不成功
挂FAT32的VHD成功
挂NTFS的VHD不成功

26 楼

天啊,我真系服得你交关喽.

27 楼

[quote]QB开发的视窗程序竟然有这样的BUG[/quote]
我现在才明白这句话是什么意思,
她居然说的是因那场官司而出现的Windows的那近亿行的QBasic源代码,狂倒.老天,饶了我吧.

28 楼

闭上眼睛都能猜得到这是个大头女孩子了 (绝对没有歧视的意思)

OK,言归正传.
既然她说的并不是指QB的问题,
而是在说Windows操作系统 (视窗程序这个名字挺别致的,估计能晕倒不少俊男的)

其实并不是真的是Windows的问题,
其实她只是用虚拟机来启动深山红叶的一个DOS启动盘而出来的问题,

唉,老天.

是的,这张盘启动的的确是MS-DOS,其实是Windows98核心.
是深山红叶的启动盘,但去掉了多余的部份,启动DOS工具盘   
   ( 拜托,我又不是你肚子里的蛔虫,你不说我咋知道这回事啊? )

我们来看看这个启动盘的Autoexec.bat的文件内容:
[quote]@ECHO OFF
set EXPAND=YES
SET DIRCMD=/O:N
cls
SET RAMDRIVE=X
XMSDSK 9600 X: /y
SET TEMP=%RAMDRIVE%:\
SET TMP=%RAMDRIVE%:\
lh mouse.com >nul


copy A:\pkunzip.exe X:\
copy A:\huanyin.ZIP X:\

X:
x:\pkunzip.exe -d -o huanyin.ZIP
restart.exe
EXIT
[/quote]
说明一下:huanyin.ZIP解压出来四个文件:
QBWIN.FNT
UNICODE.FNT
RESTART.EXE
RESTART.COM

从自动执行的批处理文件中可以看到,解压后执行EXE文件
这是一个由QBWIN编译的一个窗体程序,只有一个按钮,点击后(估计是用Shell)执行Restart.com来实现重启系统.

楼主遇到的问题是:
当挂载FAT32.VHD作为虚拟系统的硬盘的时候,程序是正常执行的.
而挂载Huanyin.VHD作为虚拟硬盘的时候,程序就死在Restart.exe的执行上了,QBwin窗体没有执行.

至于Restart.exe的源代码,我不清楚,粗略猜疑是用QBwin弄了一个按钮,用Shell执行一个.Com
如果说这个程序出错,我一点都不会觉得奇怪.因为DOS下的图形模式的确让我不能信服.
特别是DOS图形模式开发的"编译"程序编译出来的程序.

但在楼主的这个现象最让我费解的是:
.ISO是用来启动的,
两个.VHD是用来挂载的, (具体是不是如楼主所言一个FAT一个NTFS我等一下再来考证)

但其实由此至终,DOS是从ISO启动中虚拟出来的系统盘A:,
X:分明是内存虚拟出来的虚拟盘,
挂载的.VHD究竟在哪里,有什么内容,有什么作用,什么时候用上了,我都不知道.

也就是说,这两个.VHD到底用上了没有,我持怀疑态度.
但偏偏楼主所说的挂载不同.VHD导致EXE的成功与失败这个现象是存在的.

我又用另一个虚拟系统挂载这两个.VHD看了下
FAT32.VHD  的确是FAT32格式,38.5M
另一个VHD 也的确是NTFS格式 68.1M
内里都是没有文件的.

29 楼

问题分析出来了

可是怎么解决如此的问题

挂NTFS.VHD会在执行EXE前停止
挂FAT32.VHD却能执行EXE文件呢

30 楼

这个世界没有大头女孩和帅哥的区别
学习对每个人都公平的
智慧是每个人都拥有的

我只是仿造我的程序给出的同样环境的同样形式的一个样例

因为我不喜欢开源嘛

但是我却喜欢别人给我开源

我来回复

您尚未登录,请登录后再回复。点此登录或注册