자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

안녕하세요, 

 

Delphi VCL form에서 vc++로 만든 dll을 가져다 사용하는 것을 테스트 하려고 합니다.

 dll 파일을 읽어오는데 까지는 성공하지만, 해당 dll에서 address를 가져오는데 문제가 발생합니다.

 

function Foo( x:Integer ):Integer; stdcall; external 'IPCamera_dll.dll'; 과 같이 직접 불러와 사용할 때에DLL직접 콜.PNG

 

그림과 같이 찾을 수 없다는 메세지를 확인할 수 있었습니다.

 

dll 작성시에는 아래 그림과 같이 함수를 작성해 두었습니다.

indll.PNG

 

Handle4DLL:=LoadLibrary( ImportDLL ); 를 이용해 정상적으로 읽어짐을 확인하고

 

GetProcAddress(Handle4DLL, 'Foo');로 Foo를 불러 사용하려고 할 때에도 class $0000005 access violation 메세지가

나타나고 있습니다.

 

혹시 어떤 문제인지 확인해 주실 수 있을까요?

 

현재 사용중인 컴파일 도구는 Delphi XE8 Trial 버전이며 윈도우 10 환경에서 사용하고 있습니다.

(* Google 검색시 간혹 Demo version 에서 Protection이 걸려 있다는 답변이 있는데 실제로 dll 사용에 대한 

   Protection이 걸려있는게 맞는지요?)