본문 바로가기

김탱 개발자/윈도우프로그래밍

VB6.0 호환 DLL 제작



우선 Visual Basic 6.0의 데이터 형식을 알아야된다. 저장용량과 범위를 체크해서, Visual Studio의 데이터형과 맞는 값을 보내주거나 받으면 된다.


빈프로젝트에서 시작해도 되지만 VS는 친절하게 DLL 제작에 필요한 프로젝트를 지원한다. Win32 프로젝트 -> DLL -> 마침


그러면 소스파일에 dllmain.cpp , dlltest.cpp, stdafx.cpp 와 헤더파일에 dlltest.h, stdafx.h, targetver.h 요렇게 생긴다 (dlltest는 프로젝트명)


dlltest.h에다가 함수를 정의한다.

VB에서 String형은 char* 형이므로 문자열을 보내고, 나머지는 구조체로 보낸다.

소스파일에서 .def 파일을 추가한다.

함수가 추가되면 @1을 증가시켜주면된다. @2,@3~

VB6.0에서는 def파일을 추가하여 빌드해주지않으면 함수인식을 하지못함

그다음 dlltest.cpp에 함수내용을 작성하고 Release 모드로 빌드하면 Release 폴더에 dlltest.dll이 생긴다. 고것만 사용하면 된다.


추가 Tip

왠만하면 long형으로 보내고 받는걸 추천하고, 배열을 사용할경우에는 배열갯수를 dll과 VB프로그램 간에 정확하게 맞추어 사용하지않으면 에러뜬다.