2009-04-25 2 views
0

C++/CLI 클래스 이벤트로 관리되지 않는 클래스의 boost :: function 멤버 (이벤트 콜백으로 사용됨)를 래핑하는 방법을 알아 내려고합니다. 나는 관리되지 않는 클래스에 대한 제어권이 없습니다. 할 수있는 일은 C++/CLI 클래스를 올바르게 작성하는 방법을 찾는 것입니다.C++/CLI 클래스 이벤트로 boost :: :: wraping

다음은 예를 관리되지 않는 클래스의 :

class X 
{ 
public: 
    boost::function<void (double)> XChanged;; 

    void Set(double x) 
    { 
     XChanged(x) 
    } 
}; 

나는 많은 것들을 시도했습니다,하지만 난 문제가 실행 계속. 나는 그것이 보이는 것보다 쉽다고 확신한다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

0

CLI는 boost :: function을 정적 멤버로 선언 할 수 없습니다. 그것을 포인터 확인 :

boost::function<void(double> *XChanged;

그런 다음 생성자 및 종료 자에/할당 해제를 할당하고 (* XChanged) (인수)로 전화를;

관련 문제