CAFE

[6.0]Tip & Tech [인기]

[스크랩] [6.0]C++ 로 만든 DLL VB에서 사용하기

작성자모나리자|작성시간09.12.31|조회수1,277 목록 댓글 6

http://iam-hs.com/57

 

C++

----------------------------------------------------------------

#define TEST_DLL extern "C" __declspec(dllexport)

// 1. 'int' Return
TEST_DLL int Test_Sum(int Num1, int Num2);

// 2. 'void' Return
TEST_DLL void Test_Output();

// 3. 'void*' Return
TEST_DLL void* CreateUser();

 

VB

----------------------------------------------------------------

' 1. 'int' Return
Declare Function Test_Sum Lib "TestDll.dll" (ByVal Num1 As Integer, ByVal Num2 As Integer) As Integer

' 2. 'void' Return
Declare Sub Test_Output Lib "TestDll.dll" ()

' 3. 'void*' Return
Declare Function CreateUser Lib "TestDll.dll" () As Int32

 

기본틀은....

Declare [Function / Sub] <FunctionName> Lib "<DLL Name>" (인자들) (As 반환값)

요렇습니다

 

그리고 함수 선언문을 작성할 때 알아둬야 되는 몇가지 사항들입니다.

1. 해당함수가 리턴하는 값이 없는 경우(void 형 함수)에는 Sub 를 사용한다.
2. 함수의 인자가 값을 넘겨주는 경우는 ByVal 을 주소값(포인터)를 넘겨주는 경우는 ByRef를 사용한다.
3. 선언의 제일 마지막에는 해당함수의 리턴형태를 As 를 사용해서 지정해준다.
    void* 함수처럼 포인터를 리턴하는 경우는 해당 바이트의 수에 맞는 데이터형을 지정한다.
    ( DLL 에서 32비트 데이터로 리턴을 하면 VB에서도 32비트 데이터형으로 받는다. )

선언이 끝나면 코드에서 사용이 가능한데 사용방법은 C/C++ 에서 함수의 사용과 비슷합니다.

단, Sub 로 선언한 함수의 경우는 Call 명령으로 호출해주도록 합니다.
(ex. Call Test_Output() )

 

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자바 람남 | 작성시간 10.12.27 감사합니다
  • 작성자바 람남 | 작성시간 10.12.27 감사합니다
  • 작성자바 람남 | 작성시간 10.12.27 감사합니다
  • 작성자바 람남 | 작성시간 10.12.27 잘봣습니다
  • 작성자바 람남 | 작성시간 10.12.27 잘봣습니다
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼