2013-04-14 44 views
2

我一直在C#中成功使用舊的彭博數據類型庫(blpdatax.dll)一段時間,直到我切換到64位機器並開始使用Visual Studio 2012.現在,每次嘗試在BlpData接口上調用方法會導致訪問衝突。C#中的彭博數據類型庫

補充信息:

我的目標機器類型是x86。

使用彭博數據類型庫的Perl腳本繼續正常工作。

使用對第三方32位COM對象的引用的其他C#程序也正常工作。

這是代碼。在Subscribe調用中發生異常並被描述爲Win32異常(訪問衝突)。

void Test() 
    { 
     BlpData blp = new BlpData(); 
     blp.ActivateRealtime = false; 
     object res; 
     object symbols = "ADX US Equity"; 
     object fields = "PX_LAST"; 
     object start = new DateTime(2013, 1, 1); 
     object end = new DateTime(2013, 1, 31); 
     int cookie = 0; 
     blp.Subscribe(symbols, cookie, fields, Type.Missing, Type.Missing, out res, Type.Missing); 
     object[,] result = (object[,])res; 
     Console.WriteLine(result[0,0].ToString()); 
    } 

我知道長期的解決辦法是使用新的API彭博社,但在現階段,我沒有這樣的選擇。任何幫助,將不勝感激。

回答

0

V3 API結果比我想象的更容易使用,儘管涉及到一些試驗和錯誤。但我仍然很想知道ActiveX控件的問題。