2011-10-03 6 views
0

내 작품에는 VB6로 작성된 응용 프로그램이 있습니다. 다른 C# .NET 응용 프로그램을 작성하는 임무가 있습니다. VB6 코드를 변경할 수 없지만 특정 함수가 VB6 응용 프로그램에서 호출 될 때마다 함수 (.NET 응용 프로그램에서)를 호출해야합니다.COM을 사용하고 있습니까?

내 상사는이 작업을 위해 COM 또는 DCOM을 사용하도록 권장했습니다. 나는이 주제들에 익숙하지 않고 쉽게 이해할 수 있고 그것이 내 일과 관련이있는 튜토리얼을 찾는 데 어려움을 겪고있다.

COM을 사용하여이 작업을 수행 할 수 있습니까? 아니면 기존 VB6 코드를 수정해야합니까?

+3

확실하지 않습니다. 도로 : VB6 뭔가 C# 호출 또는 C# VB6 호출 또는 다른 ... 그리고 "나는 함수를 호출해야 ..."어떤 언어입니까? – xanatos

+2

VB6 코드가 이미 com 객체 인 일명 componet이 아니라면, 나는 당신이 어떤 방식 으로든 수정해야한다고 생각합니다. com 객체로 노출 된 .Net 코드를 com 객체로 노출 시키면됩니다. – user957902

+0

간단히하기 위해 두 앱이 동일한 컴퓨터에서 실행될 때 DDE를 사용할 수 있지만 다소 구식 인 접근 방식이지만 매우 간단합니다. – NickD

답변

1

소스 코드를 변경해서는 안되는 VB6 응용 프로그램을 사용하는 것처럼 들립니다. 이제 VB6 응용 프로그램의 메서드가 호출 될 때마다 다른 구성 요소 (C#)의 메서드를 호출하기를 원합니다.

귀하의 질문이 100 % 명확하지 않기 때문에 위의 가정입니다.

그런 경우이고 당신이 VB6 응용 프로그램을 변경할 수없는 경우 다음 COM Channel Hooks를 사용하여 뭔가 (COM 객체로 구성되어있는 VB6 응용 프로그램을 가정)을 수행 할 수 있습니다.

하지만 C++과 저수준 COM을 사용하고 싶지는 않을 것입니다.

0

당신이 당신의 VB6 응용 프로그램 내에서 C#을 응용 프로그램에서 메소드를 호출에 대해 묻는 내가 생각 . 그래서 우리는 어떤 형태의 프로세스 간 의사 소통 (즉, DCOM에 대한 설명)에 대해 이야기하고 있습니다.

.NET 응용 프로그램에서 호스팅되는 원격 개체가있는 클라이언트로 작동하도록 COM 호출 가능 .NET 라이브러리를 만들어 일부 응용 프로그램에서 .NET Remoting을 사용하여 DCOM을 대체했습니다. VB6 응용 프로그램은 개체를 사용하고 메서드는 서버에서 실행됩니다.

BUT VB6 응용 프로그램을 적어도 약간 수정하여 .NET에 새 호출을 삽입해야합니다. VB6 응용 프로그램을 변경하지 말아야하는 요구 사항을 명확히 할 수 있습니까?

관련 문제