VB에서 VC DLL을 호출 할때 호출 규약 오류 때문에 DLL을 찾을수 없다고 메세지를 띄울 때 처리하는 방법입니다. 저희 회사는 아직도 VB 6.0을 사용하고 있거던요.(지금도 UI를 VB로 개발해요 ㅠㅠ) 간단히 말하면 VC에서 __stdcall 호출 규약을 사용하여 DLL 함수를 만들구요, VB쪽에서 함수를 선언할때 DLL 전체 경로를 주고요, 또한 Alias를 설정해 줍니다. 배포할 때 주의 사항은 DLL 전체 경로를 주면 실행시 해당 경로에 DLL을 찾기 때문에 오류가 발생할수 있습니다. 따라서 DLL 전체 경로를 없애야 합니다.(대부분이 DLL을 실행 파일이랑 같이 두니까요) 원본 : http://b4you.net/blog/tag/%ED%98%B8%EC%B6%9C%EA%B7%9C%EC%95%BD VC에서 만든 DLL을 VB에서 사용할 때 애먹고 있으신 분들을 위해.. 참고로, 굳이 프로젝트 세팅에서 __stdcall 방식으로 바꿀 필요는 없다. 이렇게 하면 c 코드를 작성하는 모든 부분의 데이터를 이상하게 처리해야될지 모르므로 -ㅅ-;; 각 함수마다 __stdcall을 이용하면되는데.. 예를 들면 int __stdcall a(){} 와 같이 함수 선언부에 __stdcall를 붙이면 이 함수만 __stdcall 규약을 따르게 될 수 있다. P.S. 보통 Windows API들이 __stdcall을 따른다. 그 이유는, Windows에서 제공하는 API들은 VC, VB, Delphi 등등의 프로그램에서 사용되어야 하므로 표준 규약인 __stdcall을 지키는것이며, 그래서 VC에서 Windows API들이 선언된 것을 보면 WINAPI 라고 된 것을 볼 수 있다. 이 WINAPI는 PASCAL 형이며, PASCAL은 _pascal 의 별칭이다. (wtypes.h에 define 되어 있으며, pascal과 stdcall방식은 서로 같다. pascal방식은 caller가 stack을 삭제하는 것이다.) ...