我有一个控制台应用程序(用VB6编写),它在我的机器上表现得很奇怪。我从命令行开始它应该是一个两分钟的工作直接回到提示 - 如果我在另一台机器上运行它,可执行文件将等待直到作业完成,然后将控制返回到提示。如果我检查进程资源管理器,我可以看到可执行文件作为后台进程运行,而不是这个奇怪的后台正在按预期运行。
有关为何会发生这种情况的任何想法? (在32位Windows XP Pro SP3上运行。)
答案 0 :(得分:3)
目前还不清楚这是您编写的应用程序,是否具有源代码。如果是这种情况,您需要进入并开始调试。至少,使用OutputDebugString向任意数量的潜在观众发送有关正在发生的事情的信息。更进一步,考虑使用我写的Console module和vbAdvance重新编译应用程序以重新编译。这种组合将允许VB6 IDE的全部功能进行调试。不再猜测发生了什么。
然后,如果它不是你的应用程序,我不确定VB6与它有什么关系,并祝你好运,想弄清楚是什么。
答案 1 :(得分:1)
听起来好像该应用程序未被识别为您的某台计算机上的控制台应用程序。 VB6中没有正式支持控制台应用程序,尽管有一些众所周知的黑客用于创建它们(特别是免费加载项vbAdvance)。可能你的控制台应用程序有点不可靠?如果Windows认为您的应用程序是GUI而不是控制台应用程序,则不会等待它完成。
作为一种实用的解决方法:尝试使用start /wait启动,而不是仅使用exename。这会强制命令提示符等待程序完成,无论是GUI应用程序还是控制台应用程序。
答案 2 :(得分:0)
听起来像应用程序正在“吞噬”错误。你有源代码吗?
VB6应用程序中的错误通常是由于某些COM组件未安装和/或注册。
下载SysInternals Process Monitor,这将显示对失败的ProgID的访问(卸载/未注册的COM组件)。
退房:Process Monitor - Hands-On Labs and Examples。
你检查过权限吗?应用程序是否访问任何基于网络的资源?