2014-09-06 136 views

回答

2

您可以毫無問題地使用C/C++ SDK和map函數調用到帶有external關鍵字的Delphi中。請參閱this example瞭解更多信息。

然而,正如有人在您提到的API中提到的只是將調用嵌入到Web服務中一樣,您可以從Delphi調用Web服務或基於Web服務規範在Delphi上定義您自己的API。你可以看看C/C++的源代碼,並嘗試將其轉換爲Delphi。

如果直接調用Web服務或將API轉換爲Delphi不是您的選擇,您可以使用C/C++ API作爲外部函數調用。

+0

我不知道彭博API什麼,而是從快速看起來,它似乎包括一個Web服務,Delphi應用程序原則上應該能夠直接使用它? – MartynA 2014-09-06 10:43:15

+0

當然可以。我沒有看過庫本身,但是因爲它有一個C/C++ SDK被建議使用它... – aleroot 2014-09-06 10:51:20

+0

'你可以看一下C/C++的源代碼 - 是可用的源代碼?我只能看到二進制文件,或者在Python/Perl的情況下需要導入動態庫(DLL)。 – mjn 2014-09-06 11:04:57

0

通常,如果我遇到需要使用Delphi集成並不容易的Web服務的需求,我建議使用其中一個可用的SDK編寫一個精簡的「代理」。

代理和德爾福方之間的通信可以使用簡單的文件傳輸或網絡協議(如HTTP)來實現。

在這種情況下,它可能是:

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

的主要優點是,第一protoype可以實現非常快的,因爲所有需要的部件都已經存在:

  • 下載SDK,並創建Java Web服務(服務器)項目
  • 創建小型Delphi原型,它使用Indy
  • 在Java Web服務中發送HTTP請求,映射t他請求參數到BB API調用
  • 地圖BB API呼叫響應到Java Web服務響應
  • 讀取Delphi應用程序響應