我想連接到彭博社 - 股票報價數據流到我們用德爾福編寫的交易系統。如何在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