【发布时间】:2014-10-14 18:46:24
【问题描述】:
我正在 VB.NET(特别是 Visual Basic)中构建一个附加 UI 系统,它使用来自旧版 Microsoft Access 系统的数据(至少在一段时间内需要通过其旧的内部 UI 使用) .我几乎可以从 VB.net 完成我需要做的所有事情 - 使用数据表、调用包含不错功能的 Access 函数等。
我想弄清楚的是 Microsoft Access 是否可以将 back 调用到 VB.NET(例如,可能允许我传入要调用的函数引用)。
具体的动机是有 2 或 3 个耗时的 Microsoft Access 函数会产生关键的输出数据 - 如果您直接通过 MS Access 界面调用它们,您会看到进度条和偶尔的文本更新等内容工作阶段、进度百分比等的一种形式。如果从 VB.net 调用,我可以修改 MS Access 代码不做这些事情,但我真的宁愿让 MS Access 代码到达回到 VB.net,以便我可以在新界面中提供一些进度反馈。
如上所述,一个优雅的解决方案是让 VB.NET 传入函数委托以供 MS Access 调用 - 但由于这些是完全不同的内存空间等,我认为需要一些内部框架让这样的事情工作 - 可能以某种方式通过共享 DLL。我可以走旧的“轮询”路线,其中 MS Access 将状态写入表,(异步)VB.NET 应用程序轮询该表并使用那里的内容。这似乎是一种不雅的hack,不必要地浪费资源并且可能容易出错,我讨厌走这条路。如果我可以只构建一个 MS Access 可以使用的函数,它只是传递一个状态字符串,我认为这将涵盖绝大多数情况。
欢迎提出任何建议。
【问题讨论】:
标签: vb.net ms-access callback vba