Life (삶)/컴퓨터 관련
C++로 만든 DLL, VB에서 호출할때...
험한 세상에서 홀로 살아가는 나그네
2008. 11. 27. 12:32
인터넷 웹검색하고..책 다시 읽어보고.. 이게 왜 않되는것이야..?
하루동안 C++,VB간 호출시 삽질끝에 결론을 내렸다..
다음가 같은 규칙이 있단다..
그래서 뭍어둘라다가 정리를 해본다.
** C++로 만든코드 VB에서 호출시 주의 사항
1. 파라미터 'ByVal'로 사용하기
3. 반환값 뒤에 __stdcall 사용할것
--> 호출규정 오류 발생
4. Def파일 생성
--> 미생성시 DLL입력점 오류 발생
5. vb에서 실행화일(exe)은 Lib경로를 파일명.dll으로 셋팅
디버깅시 Lib경로를 절대경로로 셋팅해야함.
(*C로 만든DLL은 절대경로를 주지 않아도 가능하다.)
cf. vb에서 #Const문을 사용 조건부 컴파일변수를 사용
(* #Const Dev =1 ; 1이면 True, 0이면 False)
6. C++에서 int 사용시 VB에서는 ByVal Long 사용
7. C++에서 char* 사용시 VB에서 ByVal String 사용
8 데이터형은 가급적이면 표준 데이터형