Background
作为记录,我曾经喜欢用VB6编码(子类化时除外(。 现在,即使不得不发布这个问题,我也感到很脏(更不用说必须实际处理其他人开发的旧代码了(。
我喜欢 c#,如果有时间,我会从头开始用 c# 开发所有内容。 具有讽刺意味的是,试图让VB6有时在Windows 10中工作是一场噩梦。 最近我一直在尝试重新编译一些源代码,但非常沮丧。
使用了两种方法...
1. 在 VB6 集成开发环境中:
我只需在 IDE 中打开项目并执行File
>>Make MyProject.exe
然后单击"确定"即可编译项目。
这有时有效。 大多数时候,它似乎编译得很好,当它开始编写EXE时,整个IDE只是由于几个不同的原因而崩溃,具体取决于正在发生的事情。
2. 使用批处理文件:
我在项目的同一目录中创建了以下批处理文件make.bat
,并在 bat 文件中创建了以下内容......
del *.obj
"c:Program Files (x86)Microsoft Visual StudioVB98VB6.EXE" /m MyProject.vbp
这有时也有效(即使 #1 不起作用(。 使用此方法时,我看到 obj 文件被创建(就像从 IDE 构建时一样(,然后它只是退出,留下 obj 文件。 这就是我知道它也崩溃的方式。
问题
我想看看是否有人可以告诉我用于编译应用程序的每个exe。 我计划尽力关闭这些应用程序的DEP(数据执行保护(。 从我所看到的完全禁用 DEP 似乎允许我更成功地编译它,但我讨厌关闭它。 我只是希望Windows 10操作系统在编译VB6应用程序时完全忽略正在使用的文件。
如果有任何其他解决方案可以帮助解决我在 VB6 不断崩溃时遇到的这个问题,请告诉我。 我对此做了很多研究,但还没有找到一个真正可靠的答案,关于如何让 VB6 与 Windows 10 配合使用。
我不确定这是否是用于编译 VB6 项目的每个 exe,但我知道的两个是......
- 链接 .EXE
- C2.EXE