저는 최근에 레거시 VB6 응용 프로그램을 .NET으로 이식하려고했습니다. 그러나 완전한 포트가 아니며 응용 프로그램 계층에만 초점을 맞추고 있습니다. VB6 COM 구성 요소를 계속 사용하고 있습니다.VB.NET에서 VB6에 사용자 지정 컬렉션 클래스를 전달할 수 있습니까?
지금까지 그렇게 좋았지 만 최근에 벽에 부딪 혔습니다.
.NET에서 VB6으로 사용자 지정 컬렉션을 전달해야합니다. 이것이 가능한가?
.NET 측에서 호출하는 COM 메서드는 일반 개체를 기다리는 중입니다. 그러나 응용 프로그램은 즉시 다음과 같이 불어납니다. InvalidCastException - 지정한 캐스트가 유효하지 않습니다.
VB6 컬렉션을 .NET으로 전달하는 방법에 대한 힌트를 찾았지만 그 반대가 아닙니다. .NET에서 몇 가지 컬렉션 유형을 상속/사용하려고 시도했지만 지금까지는 아무 소용이 없습니다. 어떤 도움을 주셔서 감사합니다.
시도해주세요. http://stackoverflow.com/questions/6231995/accessing-net-collection-in-vb6? – MarkJ
@ MarkJ 나는 그 질문을 보았고 그것은 중복으로 보이지 않는다. VB6가 VBA를보고 있다고 믿게하는 방법이 있습니다. 콜렉션과 저는 그것을 제 대답에 설명했습니다. C#에서도 작동합니다. – Markus
질문의 이유는 다음과 같습니다. @RyanMac은 그가 말하는 VB6 구성 요소에 대해 바이너리 호환성 및 바이너리 자체를 보존하려고합니다. 6231995에 대한 질문과 대답은 호환성을 유지하려는 것이 아닙니다. – Markus