有没有';戈查斯';通过Delphi COM服务器或.NET中的DLL调用BDE时是否涉及?
我问这个问题是对我上一个问题的补充: 有人建议我调用Delphi COM服务器,而不是通过标准输入/输出传递数据,我完全同意这种解决方案非常有限 基本上,我需要一种从C#调用BDE的方法,而无需使用ADO/OLEDB。最初,我的要求是能够直接执行查询并返回某种记录集对象,但我也可以使用强类型接口和方法,例如: uint CreateCustomer(字符串fname、字符串lname、字符串地址、字符串电子邮件) uint CreateContract(…) 布尔删除合同(…) 我更希望不必使用regsvr32注册COM服务器,而是使用Interop和DllImport直接调用DLL方法。使用后一种方法,是否有任何关于资源清理和“BDE会话”的特殊注意事项 此外,如果发生异常,处理异常并确保释放任何BDE(或其他)资源的正确方法是什么 我有很多问题,我真的不知道如何清楚地表达:)有没有';戈查斯';通过Delphi COM服务器或.NET中的DLL调用BDE时是否涉及?,delphi,interop,delphi-7,bde,dbase,Delphi,Interop,Delphi 7,Bde,Dbase,我问这个问题是对我上一个问题的补充: 有人建议我调用Delphi COM服务器,而不是通过标准输入/输出传递数据,我完全同意这种解决方案非常有限 基本上,我需要一种从C#调用BDE的方法,而无需使用ADO/OLEDB。最初,我的要求是能够直接执行查询并返回某种记录集对象,但我也可以使用强类型接口和方法,例如: uint CreateCustomer(字符串fname、字符串lname、字符串地址、字符串电子邮件) uint CreateContract(…) 布尔删除合同(…) 我更希望不必使用
编辑:我完全知道BDE已经“死了”,但我无法控制仍在使用BDE的第三方软件。我错过了你最初的BDE问题,所以我也在那里提出了一个问题 基本上:跳过BDE,然后尝试:
- 它支持大多数(如果不是全部的话)xBase数据文件类型
- 有一个问题
--jeroen恐怕这对我一点帮助都没有,因为我需要使用BDE与我无法控制的基于BDE的旧应用程序进行正确的互操作。好的。您是否可以编辑您的问题,以更详细地描述基于BDE的旧应用程序的外观(从技术角度)以及您希望如何调用它(从功能角度)?如果您查看我的问题,您可以看到我特别关注资源使用和异常。我遇到过这样的情况:如果我的应用程序没有正确终止,那么在BDE调用/数据访问期间,另一个应用程序会锁定。就好像BDE挂在未释放的互斥锁或某种文件锁上一样。这种情况可以通过停止/重新启动两个进程来解决;对此没有任何反应,所以我想知道您真正想要的是什么:即为什么Advantage Database Server不适合您。