gpt4 book ai didi

c# - 让 .net 应用程序和 vb6 应用程序互相交谈?

转载 作者:行者123 更新时间:2023-11-30 18:03:41 28 4
gpt4 key购买 nike

我有几个相互依赖的应用程序。一个是强大的 vb6 应用程序。另一个是我热切期待的 secret 技术应用程序,并且可能赢得奥斯卡奖的 .net (2.0) 系统托盘应用程序。 vb6 应用程序启动系统托盘应用程序。如果 VB6 应用程序关闭,系统托盘应用程序将自行关闭,假设它没有其他工作要做(它的工作是将文档保存到数据库)。

我唯一担心的是,如果系统托盘应用程序崩溃或由于某些 fatal error 而无法正常工作,会发生什么情况。这种情况的一个可能结果是我弹出一个模态对话框告诉用户“立即联系支持,因为你不能再保存文档”。

我认为这里最糟糕的情况是,每当在 vb6 应用程序中处理文档时(即,用户完成文档并将其组件压缩并保存在本地),我只需要检查一下如果系统托盘应用程序正在运行。我不知道,这似乎有点麻烦。有没有更优雅的方法?有什么方法可以“发信号”给我的 vb6 应用程序/让我的 vb6 应用程序监听这样的信号吗?

最佳答案

我过去所做的是将 .NET 中的类库公开为 COM 对象(在程序集信息中,将 ComVisible 属性设置为 true)。

通过这种方式,您可以从 VB6 调用从 .NET 类库中导出的方法,而在 C# 中,您可以获得处理这种情况所需的所有代码。

通过这种方式,我在 VB6 中编写的代码更少,而在 C# 中编写的代码更多,我们可以从更好的异常处理(try-catch-finally)、日志框架(如 Log4Net 等)中获益...

到目前为止,这对我来说效果很好。

关于c# - 让 .net 应用程序和 vb6 应用程序互相交谈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027520/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com