안녕하세요. 카페매니저 입니다.
오늘 알려드릴 팁은
VB6 에서 만든 DLL 을 VB.NET 에서 바로 참조하는 방법입니다.
VB6 에서 만든 DLL 을 VB.NET 에서 참조하려면 regsvr32 를 통해 레지스트리에 등록한 후 참조를 해야합니다.
(그렇지 않으면 오류가 발생하며 참조가 되지 않습니다.)
그런데 가끔 regsvr32 로 dll 파일을 등록하려면 등록이 되지 않을때가 있습니다.
원인은 관리자권한으로 등록하지 않으면 등록이 안되는 현상이죠.
그럼 관리자권한으로 regsvr32 를 실행해 등록을 해주면 됩니다.
그리고 VB.NET 에서 참조를 하면 참조가 잘 됩니다.
문제는 프로그램을 배포 후 이것을 사용하는 PC는 모두 똑같이 해주어야 한다는 것입니다.
모든 PC에 가서 관리자 권한으로 regsvr32 를 실행해서 DLL을 등록해 주어야 한다는것이죠.
이것을 해결하기 위한 방법이
http://www.codeproject.com/Articles/154144/Using-Unmanaged-VB-Code-in-NET
여기에 나와있습니다.
VB6 에서 DLL 을 만들때 "COM+ Services type Livrary" 를 추가하셔서 컴파일 하시고
VB2008 의 메뉴에 포함되어있는"Visual Studio 2008 명령 프롬프트" 를 실행하시어
tlbimp C:\Source.dll /out:C:\Destination.dll
처럼 실행하시면 VB.NET 에서 바로 참조할 수 있는 DLL 형태로 변하게 되겠습니다.
참고하시어 코딩하시기 바랍니다.
단, DLL 이 자신이 만든게 아니라 소스가 없다면 불가능한 일이겠죠?
감사합니다.