none
윈도우7에서 VB프로그램의 일반DLL사용시 파일을 찾을 수 없다는 메세지 RRS feed

  • 질문

  • VB에서 사용이 가능하도록 VC++에서 일반DLL을 만들었습니다.

    XP에서 한폴더에 놓고 실행하면 잘 되던 프로그램이, 윈도우7에서는 오류를 일으킵니다.

    VB프로그램까지는 실행이 되고, 이후 DLL을 사용하는 이벤트가 생길때

    //-------------------------------------------------------------------------//\

    '48'런타임오류가 발생하였습니다.

     파일을 찾을 수 없습니다. xxx.dll

    //-------------------------------------------------------------------------//

    이라는 메세지가 뜹니다.

    혹시나해서 system32폴더로 dll을 옮겨놓고 실행해도 마찬가지 입니다.

     

     

    //---------------------------------------------------------------------------------------------//

    Private Declare Function 함수이름 Lib "DLL이름.dll" (ByVal Dest As String) As Long

    //---------------------------------------------------------------------------------------------//

     

    VB에서는 위와 같은 타입으로 선언되어있고 사용했고,

    //---------------------------------------------------------------------------------------------//

    extern "C"_declspec(dllexport) BSTR __stdcall connecting(BSTR bstr_data1, BSTR bstr_data2)

    //---------------------------------------------------------------------------------------------//

    dll은 위와같이 선언하고 제작했습니다.  

     

    VB에서 호출하는 부분이 문제인지, 아니면 일반DLL 제작시 또 다른 방식이 있어야 하는지... 궁금하네요..

    조언부탁합니다.

    2010년 11월 1일 월요일 오전 2:19

모든 응답

  • Windows XP에서 잘 실행되던 응용프로그램이 Windows Vista나 Windows 7에서 오류를 일으키는 것은 대개 보안에 관련된 호환성 이슈일 가능성이 높습니다. 혹시 해당 프로그램을 실행하는 사용자 계정이 기존과 달리 Windows Vista나 7에서는 비 관리자 계정으로 할당된 상태인지 확인해보실 것을 권합니다.

    더불어서, 사용자 계정 컨트롤에 의하여 실행이 안되거나 제한될 수 있습니다. Windows Vista 또는 Windows 7에서 %USERPROFILE% 사용자 디렉터리 안에서 정상적으로 실행이 되는지 우선 확인하시고, 여기서 문제가 없다면 권한 할당에 대한 사항을 추가적으로 점검해보시는 것도 해결책이 될 것으로 봅니다.


    남정현 (rkttu@rkttu.com) - Visual Studio 2010 한국 공식 팀 블로그 멤버 - http://www.vsts2010.net | Windows Azure Cafe SYSOP - http://cafe.naver.com/wazure | DEVPIA C# Forum SYSOP - http://www.devpia.com/CSharp.MAEUL
    2010년 11월 1일 월요일 오전 4:11