理论上,编译后的 vb6 应用程序可以在 Mac 上的 WINE 下运行吗?
另一位工作中的开发人员告诉我,由于某些特定于 Visual Basic 6 应用程序的原因,它无法工作。
但我认为只要包含正确的 DLL 和运行时文件就应该可以工作,VB6 不是编译为机器代码吗?
编辑:我只是说一般来说应该有可能。只要没有人给我一个它不起作用的理论上的理由,我就会在几天内实际测试它。
编辑2:我认为开发人员指的是P代码,vb6可以选择编译为P代码,而不是在类似于.Net框架(或其前身)的虚拟机下运行的二进制文件。
Another developer at work told me it wouldn't work for some reason specific to Visual Basic 6 applications.
But I think it should work as long as you include the correct DLLs and runtime files, isn't VB6 compiled to machine code?
EDIT: I just mean in general should it be possible. I'm going to actually test this out in a few days as long as nobody gives me a theoretical reason it won't work.
EDIT 2: I think the developer was referring to P-code, which vb6 can optionally compile to instead of binary which runs under a virtual machine similar to (or the precursor of) the .Net framework.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 Ubuntu 下的 Wine 中测试了一个大型 VB6 应用程序。事件 msi 安装程序运行良好。在低级实现细节方面存在一些问题(例如,在 CDRF_NOTIFYITEMDRAW 阶段的 NM_CUSTOMDRAW 中,hDC 文本默认情况下不像 Windows 公共控件那样透明)。所以是的,即使是大量子类化的东西也能工作。我只需要解决这些小问题就可以了。
这是一个检查应用程序是否在 wine 下运行的函数
I've tested a large VB6 app in Wine under Ubuntu. Event the msi installer worked fine. Had some troubles with low-level implementation details (e.g. in NM_CUSTOMDRAW on CDRF_NOTIFYITEMDRAW phase the hDC text is not transparent by default as in Windows common controls). So yes, even heavily subclassed stuff works. I just had to iron those minor glitches.
Here is a function that checks if app is running under wine
看看这个 http://appdb.winehq.org/objectManager。 php?sClass=application&iId=7361
看起来您可以让大多数 VB6 程序运行。
Take a look at this http://appdb.winehq.org/objectManager.php?sClass=application&iId=7361
It looks like you can get most VB6 programs to work.