|
가상 머신 VMWare 맞고요...
툴을 주로 델파이를 쓰는지라...THandle로 선언해서 쓰다보니...
걍 핸들이라 생각하고 있었네요...
암튼 점한님이 써 주신거와 동일하게 되어 있습니다.
HANDLE hDll;
AnsiString sName = "파일명";
if (!FileExists(sName))
{
LOG("파일없음.");
return false;
}
hDll= LoadLibrary(sName.c_str());
if (hDll == 0L)
{
LOG("로드실패.");
return false;
}
다를게 없죠...??
가상머신에 빌더까지 설치하고 디버깅 해봤는데요...
LoadLibrary에서 NULL이 리턴되요...ㅠ_ㅠ
일반 PC에서는 잘되는데 저 가상머신에서만 안되는지라...
누구좀 도와주세요~~!
이점한 님이 쓰신 글 :
: 가상 머신이라 함은 ? VMware 를 사용한거겠죠?
: 저도 시스템 복구 프로그램 테스트 하느라 VMWare 자주 사용하는데
: VMWare를 쓰던 리얼 머신을 쓰던 LoadLibrary() 함수는 정확하게 잘 동작합니다.
:
: 질문을 보니 LoadLibrary()의 리턴값을 핸들에 받는데 .. 핸들! 아니져~~ 인스탕쓰! 마씀니당~
:
: HINSTANCE hinst;
:
: if ( FileExists( LibName ) )
: {
: hinst = LoadLibrary( LibName .c_str() );
: .....
:
: 위와 같이 쓰면 100% 정확하게 동작 할겁니다.
:
: 답변이 되셨는지 ?
:
:
: 샤악한레빗 님이 쓰신 글 :
: : 가상머신에서 프로그램을 실행해야 하는 일이 생겼습니다.
: :
: : 그런데 다른곳에서는 정상적으로 작동되던 것이
: :
: : 가상머신에서만 문제를 일으킵니다.
: :
: : 일단 FileExists로 DLL파일을 확인하고,
: :
: : handle = LoadLibrary(파일명);
: :
: : 하면 handle이 NULL로 나옵니다.
: :
: : 절대경로, 상대경로 다 입력해봤지만 소용없습니다.
: :
: : OS는 XP Pro이고요...혹시 경험 있으신분 답변 부탁드립니다.
|