1

我想连接彭博-股票报价数据流到我们用德尔福编写的交易系统。

在 Bloomberg 网站 ( http://www.bloomberglabs.com/api/libraries/ )上提供下载的 API 库不包括 Delphi 特定的版本。

如果只有 C/C++、Java、.Net、Perl 和 Python 库可用,有没有办法从 Delphi 访问 Bloomberg API?

4

2 回答 2

2

您可以毫无问题地使用 C/C++ SDK 并将函数调用映射到带有 external 关键字的 Delphi 中。查看此示例以获取更多信息。

然而,正如评论中所说的那样,因为您所谈论的 API 只是嵌入对 Web 服务的调用,您可以只从 Delphi 调用 Web 服务,或者根据 Web 服务规范在 Delphi 上定义自己的 API。您可以看看 C/C++ 的源代码,然后尝试将其转换为 Delphi。

如果直接调用 Web 服务或将 API 转换为 Delphi 不适合您,您可以只使用 C/C++ API 作为外部函数调用。

于 2014-09-06T10:36:43.613 回答
0

通常,如果我需要在 Delphi 集成不容易的情况下使用 Web 服务,我建议使用其中一个可用的 SDK 编写一个精简的“代理”。

然后可以使用简单的文件传输或网络协议(例如 HTTP)来实现代理和 Delphi 端之间的通信。

在这种情况下,它可能是:

(Bloomberg) <== Java SDK ==> (Java proxy) <== HTTP ==> (Delphi application)

关键优势是可以非常快速地实现第一个原型,因为所有必需的部分都已经存在:

  • 下载 SDK 并创建 Java Web 服务(服务器)项目
  • 创建使用 Indy 发送 HTTP 请求的小型 Delphi 原型
  • 在 Java Web 服务中,将请求参数映射到 BB API 调用
  • 将 BB API 调用响应映射到 Java Web 服务响应
  • 在 Delphi 应用程序中读取响应
于 2014-09-06T11:17:14.303 回答