2011-10-07 1 views
2

나는 VB6 Active DLL을 C#에서 호출하려고한다.C# 응용 프로그램의 VB6 ActiveX DLL에 대한 호출이 "No such interface supported"로 실패하는 이유는 무엇입니까?

내가 tblimp를 사용하여 변환 그때 사용하여 인스턴스화 VS 2010 년에

그것을 가져온 :

AppWebActiveX.Users appWebActiveX = new appWebActiveX.Users(); 

는 사용자 인터페이스와 UsersClass 클래스있다 내가 개체 브라우저에서 볼 때 .

은 그럼 내가 전화 :

bool isExistingUser = appWebActiveX.IsExistingUser("cat"); 

bool IsExisting(string)는 개체 브라우저에 따라, 유효한 방법이다.

그러나,이 반환

형의 형태 'AppWebActiveX._Users'를 인터페이스하는 'AppWebActiveX.UsersClass을'COM 개체를 캐스팅 할 수 없습니다. ... 지원되는 인터페이스가 없습니다 ...

최신 스택 호출은 System.StubHelpers.StubHelpers.GetCOMIPFromRCW입니다.

Windows Server 2003 Standard Edition (x86 - 32bit)에서 실행 중이며 32 비트 DLL입니다. C# 콘솔 앱에서 전화를 걸었습니다.

어떤 조언이 필요합니까?

+0

.NET 응용 프로그램이 64 비트 OS에서 64 비트로 실행되고 있습니까? – vcsjones

+3

하나의 매개 변수로 메소드를 호출했지만 서명에 2 개의 매개 변수가 있습니다. 오타가 아니라면 같은 방법이 아닙니다. – user957902

+0

죄송합니다. 그것은 오타였습니다. 나는 그것을 고쳤다. – dommer

답변

1

메인 메서드에서 [STAThread] 특성을 생략했습니다.

관련 문제