Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有';戈查斯';通过Delphi COM服务器或.NET中的DLL调用BDE时是否涉及?_Delphi_Interop_Delphi 7_Bde_Dbase - Fatal编程技术网

有没有';戈查斯';通过Delphi COM服务器或.NET中的DLL调用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(…) 布尔删除合同(…) 我更希望不必使用

我问这个问题是对我上一个问题的补充:

有人建议我调用Delphi COM服务器,而不是通过标准输入/输出传递数据,我完全同意这种解决方案非常有限

基本上,我需要一种从C#调用BDE的方法,而无需使用ADO/OLEDB。最初,我的要求是能够直接执行查询并返回某种记录集对象,但我也可以使用强类型接口和方法,例如:

uint CreateCustomer(字符串fname、字符串lname、字符串地址、字符串电子邮件) uint CreateContract(…) 布尔删除合同(…)

我更希望不必使用regsvr32注册COM服务器,而是使用Interop和DllImport直接调用DLL方法。使用后一种方法,是否有任何关于资源清理和“BDE会话”的特殊注意事项

此外,如果发生异常,处理异常并确保释放任何BDE(或其他)资源的正确方法是什么

我有很多问题,我真的不知道如何清楚地表达:)


编辑:我完全知道BDE已经“死了”,但我无法控制仍在使用BDE的第三方软件。

我错过了你最初的BDE问题,所以我也在那里提出了一个问题

基本上:跳过BDE,然后尝试:

  • 它支持大多数(如果不是全部的话)xBase数据文件类型
  • 有一个问题

--jeroen

恐怕这对我一点帮助都没有,因为我需要使用BDE与我无法控制的基于BDE的旧应用程序进行正确的互操作。好的。您是否可以编辑您的问题,以更详细地描述基于BDE的旧应用程序的外观(从技术角度)以及您希望如何调用它(从功能角度)?如果您查看我的问题,您可以看到我特别关注资源使用和异常。我遇到过这样的情况:如果我的应用程序没有正确终止,那么在BDE调用/数据访问期间,另一个应用程序会锁定。就好像BDE挂在未释放的互斥锁或某种文件锁上一样。这种情况可以通过停止/重新启动两个进程来解决;对此没有任何反应,所以我想知道您真正想要的是什么:即为什么Advantage Database Server不适合您。