我一直在尝试在Windows 7上安装并运行用vb 6.0编写的程序。它在Windows XP中正常安装和运行。安装并运行它后的错误消息说
Run-time error 339" : Component voice.ocx or one of its dependencies not correctly registered: a file is missing or invalid.
这个程序有录音功能。
我手动注册了那个ocx组件,但仍然显示错误,如
The module "voice.ocx" failed to load.
我尝试安装VB运行时仍然显示相同的错误。我相信Windows 7支持vb 6.0程序。
我不确定的一件事是我所拥有的ocx组件是16位还是32位版本。我认为我们不能在Windows 7中注册16位版本的ocx。
我还尝试在兼容模式下安装和运行,甚至以管理员身份运行。我认为这是一个与平台相关的问题?它可能是其他一些解决方法。所以,我很感激你在Windows 7中运行的这个程序的提示或线索。
提前致谢。 问候, 看了
答案 0 :(得分:1)
只是包住其他人看到这个......这就是我做的事情
我知道该程序在Windows XP上运行,并安装了visual basic。我只获得了exe和MDB。所以我创建了一个Windows XP的虚拟机(坚持我),安装了visual basic并测试了应用程序。很好。然后我从http://www.dependencywalker.com/下载了一个名为Dependency Walker的依赖工具。我在虚拟机中安装了它并要求它打开我的exe。
一旦加载,我忽略了警告并要求它开始分析。我运行应用程序,逐步完成我能看到的所有内容,然后退出应用程序。这给我留下了访问过的DLL的日志。慢慢地我经历了这些检查,如果它们存在于我的Windows 7安装程序中,当一个丢失时我将其复制到我的应用程序目录,然后从提升的命令提示符运行“regsrv32 [missing_name.dll]”直到没有我的窗口的文件7桌面没有。
该应用程序然后工作正常!由于第三方OCX或DLL的编写方式,这可能无法一直有效。但它可能会帮助某人。
答案 1 :(得分:0)
Windows 7中不支持几个旧的Win32组件.Windows 7中的VB程序可能会出现故障。
但是有一些方法可以解决这些问题。
检查以下链接以获得相同的效果。
http://www.personalcomputerfixes.com/general-errors/how-to-successfully-fix-the-339-runtime-error/
答案 2 :(得分:0)
我在WinXP32机器上用VB5开发了几个程序,然后将它们安装在Windows 7(32和64)PC上没有问题。 这个应用程序使用不同的OCX(16位和32位版本),直到现在我从来没有遇到过它们的问题。因此,我不认为VB5或Vb6在Windows 7机器上可能有任何问题。
另一方面,我会指出模块“voice.ocx”并调查它是否可以在Windows 7上运行,因为Katturaja sais有些老ocx在win7上有问题。为此,我将创建一个简单的VB6项目,它使用voice.ocx(只是一个Hallo-World“),然后创建安装包,最后尝试在干净的win7机器上安装(例如虚拟机)。你可以把问题隔离开来。
我希望这可以帮到你。