我在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,但目前我没有这个选择。任何帮助将不胜感激。
答案 0 :(得分:0)
V3 API比我想象的更容易使用,尽管涉及一些试验和错误。但我仍然很想知道ActiveX控件的问题。