오늘 조금 희한한 경우를 발견했습니다. 다름이 아니라 VC++ 아래와 같이 정의한 함수를 1 2 3 4 5 extern "C" DLL_EXPORT void DGN2NSQ( const char * pExportFilePath, const char * pImportFilePath , const char * pIniFilePath ) { ... 생략 } Colored by Color Scripter cs VB에서 아래와 같이 선언한 뒤 VB CODE를 컴파일해도 아무런 에러를 발생시키지 않고 컴파일이 성공되었습니다. 매개 변수 하나를 선언하지 않았는데도 말이죠. 1 2 Declare Sub DGN2NSQ Lib "IEManager.dll" _ ( ByVal ExportFilePath As String , ByVal ImportFilePath As String ) cs VC++의 함수에서 디버깅을 해보면 제일 마지막의 값은 쓰레기 값이 넘어오는 것을 확인할 수 있었습니다. DLL함수 호출 규약을 __stdcall으로 바꾸어 테스트를 한번 해 보아야 겠습니다. - 결론 : VB는 똑똑하게(?) 인자 갯수를 다르게 선언하고 또 사용하고 해도 컴파일때 에러를 내지 않습니다. 뭐 이런게 다 있을까요?