我想连接到彭博社 - 股票报价数据流到我们用德尔福编写的交易系统。如何在Delphi中使用Bloomberg API?
提供在彭博社网站上下载的API库(http://www.bloomberglabs.com/api/libraries/)不包含特定于Delphi的版本。
如果只有C/C++,Java,.Net,Perl和Python库可用,有没有办法从Delphi访问彭博API?
我想连接到彭博社 - 股票报价数据流到我们用德尔福编写的交易系统。如何在Delphi中使用Bloomberg API?
提供在彭博社网站上下载的API库(http://www.bloomberglabs.com/api/libraries/)不包含特定于Delphi的版本。
如果只有C/C++,Java,.Net,Perl和Python库可用,有没有办法从Delphi访问彭博API?
您可以毫无问题地使用C/C++ SDK和map函数调用到带有external关键字的Delphi中。请参阅this example了解更多信息。
然而,正如有人在您提到的API中提到的只是将调用嵌入到Web服务中一样,您可以从Delphi调用Web服务或基于Web服务规范在Delphi上定义您自己的API。你可以看看C/C++的源代码,并尝试将其转换为Delphi。
如果直接调用Web服务或将API转换为Delphi不是您的选择,您可以使用C/C++ API作为外部函数调用。
通常,如果我遇到需要使用Delphi集成并不容易的Web服务的需求,我建议使用其中一个可用的SDK编写一个精简的“代理”。
代理和德尔福方之间的通信可以使用简单的文件传输或网络协议(如HTTP)来实现。
在这种情况下,它可能是:
(Bloomberg) <== Java SDK ==> (Java proxy) <== HTTP ==> (Delphi application)
的主要优点是,第一protoype可以实现非常快的,因为所有需要的部件都已经存在:
我不知道彭博API什么,而是从快速看起来,它似乎包括一个Web服务,Delphi应用程序原则上应该能够直接使用它? – MartynA 2014-09-06 10:43:15
当然可以。我没有看过库本身,但是因为它有一个C/C++ SDK被建议使用它... – aleroot 2014-09-06 10:51:20
'你可以看一下C/C++的源代码 - 是可用的源代码?我只能看到二进制文件,或者在Python/Perl的情况下需要导入动态库(DLL)。 – mjn 2014-09-06 11:04:57