2014-06-06 7 views
0

를 가져 오지 못했습니다 나는이 간단한 인터페이스 정의를 포함하는 IDL :TlbImp 오류 TI1036는 SAFEARRAY (플로트)

library DecoToniCfgLib 
{ 

    importlib("stdole32.tlb"); 

    //....code 
    //....code 

    [ 
    object, 
    uuid(A6F30650-53F5-4688-829A-C084BA1C7DC0), 
    dual, 
    nonextensible, 
    helpstring("DecoToniConfig Interface"), 
    pointer_default(unique) 
    ] 
    interface IDecoToniConfig : IDispatch 
    { 
    [id(1), helpstring("Opens the Tones config and returns the params")] 
    HRESULT OpenToneConfigWindow([out, retval] TCodecParams* pVal); 
    [id(2), helpstring("Opens the Tones config and returns the params in an array form")] 
    HRESULT OpenToneConfigWindowArray([out, retval] SAFEARRAY(float)* pVal); 
    [id(3), helpstring("Opens the masks config window")] 
    HRESULT OpenMaskConfigWindow([out, retval] SAFEARRAY(TMask)* pVal); 
    }; 

} 

내가 TlbImp를 실행할 때 나는 그것에 SAFEARRAY (플로트)을 반환하는 방법을 추가 할 수 있지만 관리 코드에 대한 가져 오기 라이브러리를 만들려면 다음과 같이 입력하십시오.

TlbImp : error TI1036 : Cannot find 'System.Single[] OpenToneConfigWindowArray()' 
in 'DecoToniCfgLib.IDecoToniConfig' when implementing 'DecoToniCfgLib.IDecoToniConfig' 
in 'interop.DecoToniConfigLib.DecoToniConfigClass' 
from 'interop.DecoToniConfigLib, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null'. 

어디에서 문제가 될 수 있습니까?
아마도 뭔가를 참조해야합니까? 그렇다면 ... 어떻게해야합니까?

감사합니다.

+0

매우 희미 해 보였으므로 그 사실을 알 수는 없습니다. Tlbimp와 같은 quacks는 메서드가없는 오래된 .tlb 파일을 읽는 중입니다. –

답변

0

나는

tlbimp.exe DecoToniConfigLib.dll /out:interop.DecoToniConfigLib.dll 

그것은 두 개의 파일이 생성 실행하면 : DecoToniCfgLib.dll (IDL로 정의 된 라이브러리) 및 interop.DecoToniConfigLib.dll

는 @의 한스 - 옆모습의 댓글에 램프를 점등 내 머리와 나는 다시 tlbimp를 실행하기 전에이 두 파일을 삭제하고 ... 작동합니다.