2013-04-14 2 views
2

64 비트 시스템으로 전환하고 Visual Studio 2012를 사용할 때까지 이전 Bloomberg Data Type Libary (blpdatax.dll)를 C#에서 사용했습니다. 이제 모든 시도 BlpData 인터페이스에서 메서드를 호출하면 액세스 위반이 발생합니다.C#의 Bloomberg 데이터 유형 라이브러리

추가 정보 :

내 대상 시스템 유형이 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()); 
    } 

나는 장기적인 솔루션은 새로운 블룸버그 API를 사용하는 것입니다 알고 있지만, 그 순간에 나는 그 선택의 여지가 없어. 어떤 도움을 주시면 감사하겠습니다.

답변

0

V3 API는 생각보다 사용하기 쉽지만, 시행 착오가있었습니다. 하지만 여전히 ActiveX 컨트롤의 문제점을 알고 싶습니다.