2012-04-11 5 views
0

7 어딘가에 애플리케이션에서 난은 다음 이용 DLL에 함수를 호출 오류 :, 윈도우 나 어플리케이션 VFP 7에서 작성한

The following error has occurred: 
Message: Cannot load 32-bit DLL d:\folder\DLL_NAME.dll. 

내가 32/64 비트 REGSVR ... 행운을 사용하여 DLL을 등록 시도!

문제를 확인하는 데 도움이되는 정보 : dll 파일이 로컬이 아니며 네트워크 매핑 드라이브의 폴더에 있습니다.

도움 주셔서 대단히 감사합니다.

+0

감사합니다, 그것은 승 7 – user1327073

+0

비주얼 폭스 프로 7은 64 비트 운영 체제를 지원하지 않는 32 비트에서 실행되고 : 여기

는 링크입니다. "메시지 : 32 비트 DLL d : \ folder \ DLL_NAME.dll을로드 할 수 없습니다." x64 프로세스로 컴파일 된 프로그램 내에서 32 비트 DLL을로드하려고한다는 것을 나타냅니다. 더구나 .... 32 비트 운영 체제에는 regsvr 프로세스의 64 비트 버전이 없습니다. Visual FoxPro 9 SP2를 사용하여 더 나은 결과가 있는지 확인하는 것이 좋습니다. VP7은 10 년 전에 출시되었습니다. –

+0

또한 사용자 계정에 네트워크 읽기를 요구하는 개인 정보가 필요하지 않은 것처럼 들립니다. 파일을 로컬로 만드십시오 ... –

답변

0

VFP가 64 비트를 지원하지 않는 것을 제외하고는 네트워크를 통해 dll을로드하려고한다는 사실을 살펴볼 것입니다.

는 가능한 문제로 그것을 제거하고 로컬로 복사하고 그에서로드 ...

시도를하여 VFP 응용 프로그램을 포함하여 다른 모든 것들을 제거 할 수 있습니다. VFP 명령 창에서 직접 시작하고 아무것도하지 않고 간단한 .prg 파일을 만들 것입니다. 그것에, 선언을 넣고 dll 파일의 로컬 복사본을 참조하십시오. 매개 변수의 값을 설정 한 다음 함수를 호출하십시오.

그래도 작동하지 않으면 응용 프로그램에서 호출되는 곳이 문제가되지 않습니다 ... 방금 전 조건과 환경을 모두 제거했습니다.

내가 인터넷에서 데이터를 요청하는 앱에서 뭔가를하려고 할 때 고객에게 제공하는 거의 비슷한 지원. 나는 그들에게 수동으로 브라우저로 가서 우리의 앱이 가고자하는 URL을 넣는다. 그들이 브라우저, 방화벽, IP 차단 또는 다른 것들로부터 얻을 수 없다면 그것은 우리의 앱과 아무 관련이 없습니다. 비슷한 상황에 처했을 수도 있습니다. 다른 모든 요소는 그대로 두어 스스로 자체적으로 격리 된 문제를 완전히 테스트 할 수 있도록 몇 가지 정보 만 얻으십시오.

+0

설명을 주셔서 감사합니다. 그 단계를 수행합니다. 잘하면 네트워크 문제이며 64 비트 비 호환성이 아닙니다! – user1327073

0

dll이 공유 네트워크에있을 가능성이 높습니다. 파일을 로컬 컴퓨터에 복사하여이 문제를 해결했습니다.

그러나이 문서 (아래 링크)에 따라, 당신은 당신이 알려주는 특별한 설정 파일을 추가 할 경우 FoxPro에 응용 프로그램 (또는 그 문제에 대한 모든 .EXE)는 네트워크 드라이브에서 DLL의의를 사용할 수 있습니다. 닷넷 프레임 워크는 특정 앱에 대해 네트워크로 연결된 dll에 액세스하는 것이 좋습니다. 답변에 대한 http://www.west-wind.com/webconnection/docs/index.htm?page=_36e0qlogr.htm

+0

링크를 제공해 주셔서 감사합니다. 참고로 응용 프로그램은 XP 클라이언트에서 실행 중이며 같은 위치에서 원격으로 dll을 성공적으로로드합니다. 나는 그것이 Windows 7 (dll이 64 비트와 호환되지 않을 수도 있음)과의 호환성 문제라고 생각합니다. 이 신비한 문제가 해결되면 나는 여전히 검색하고 대답을 게시 할 것입니다. – user1327073