2

一段时间以来,我一直在 C# 中成功使用旧的 Bloomberg 数据类型库 (blpdatax.dll),直到我切换到 64 位机器并开始使用 Visual Studio 2012。现在每次尝试调用 BlpData 接口上的方法都会产生结果在访问冲突中。

附加信息:

我的目标机器类型是 x86。

使用 Bloomberg 数据类型库的 Perl 脚本继续正常工作。

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

这是代码。异常发生在订阅调用并被描述为 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());
    }

我知道长期的解决方案是使用更新的 Bloomberg API,但目前我没有这个选择。任何帮助,将不胜感激。

4

1 回答 1

0

事实证明,V3 API 比我想象的更容易使用,尽管其中涉及一些试验和错误。但我仍然很想知道 ActiveX 控件的问题所在。

于 2013-04-15T00:26:29.633 回答