자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
2015.12.24 15:12
안녕하세요,
Delphi VCL form에서 vc++로 만든 dll을 가져다 사용하는 것을 테스트 하려고 합니다.
dll 파일을 읽어오는데 까지는 성공하지만, 해당 dll에서 address를 가져오는데 문제가 발생합니다.
function Foo( x:Integer ):Integer; stdcall; external 'IPCamera_dll.dll'; 과 같이 직접 불러와 사용할 때에
그림과 같이 찾을 수 없다는 메세지를 확인할 수 있었습니다.
dll 작성시에는 아래 그림과 같이 함수를 작성해 두었습니다.

Handle4DLL:=LoadLibrary( ImportDLL ); 를 이용해 정상적으로 읽어짐을 확인하고
GetProcAddress(Handle4DLL, 'Foo');로 Foo를 불러 사용하려고 할 때에도 class $0000005 access violation 메세지가
나타나고 있습니다.
혹시 어떤 문제인지 확인해 주실 수 있을까요?
현재 사용중인 컴파일 도구는 Delphi XE8 Trial 버전이며 윈도우 10 환경에서 사용하고 있습니다.
(* Google 검색시 간혹 Demo version 에서 Protection이 걸려 있다는 답변이 있는데 실제로 dll 사용에 대한
Protection이 걸려있는게 맞는지요?)
번호 제목 글쓴이 날짜 조회 수
공지
[프로그래밍 강의] 2021.6~2021.12
관리자 2015.01.22 39583
공지
유용한 관련 사이트
관리자2 2014.03.20 79087
10
REST Application에서 앞에 '0' 이 사라져요...
[4] 딸기 2012.02.28 20362
9
Indy ftp 한글깨짐 질문 입니다
[8] sdj 2012.04.04 21163
8
ios 자신의 전화번호 확인은 불가능한건가요?
[3] 델마당쇠 2020.08.25 21323
7
project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다.
[2] 국카 2020.08.13 28166
6
모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은?
양현숙 2012.08.16 32906
5
제다이(Jedi) 컴포넌트 설치 방법을 알려주세요
[1] 관리자 2012.04.05 43556
4
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4]
jcijang 2016.09.14 58798
3
아이폰 본인 전화번호 확인방법??
[1] kerry 2018.01.20 79254
2
구버전 설치시 시리얼번호 문의
[1] DevCK 2020.06.02 95485
»
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1]
mir 2015.12.24 224204
Delphi Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
2015.12.24 15:12
안녕하세요,
Delphi VCL form에서 vc++로 만든 dll을 가져다 사용하는 것을 테스트 하려고 합니다.
dll 파일을 읽어오는데 까지는 성공하지만, 해당 dll에서 address를 가져오는데 문제가 발생합니다.
function Foo( x:Integer ):Integer; stdcall; external 'IPCamera_dll.dll'; 과 같이 직접 불러와 사용할 때에
그림과 같이 찾을 수 없다는 메세지를 확인할 수 있었습니다.
dll 작성시에는 아래 그림과 같이 함수를 작성해 두었습니다.
Handle4DLL:=LoadLibrary( ImportDLL ); 를 이용해 정상적으로 읽어짐을 확인하고
GetProcAddress(Handle4DLL, 'Foo');로 Foo를 불러 사용하려고 할 때에도 class $0000005 access violation 메세지가
나타나고 있습니다.
혹시 어떤 문제인지 확인해 주실 수 있을까요?
현재 사용중인 컴파일 도구는 Delphi XE8 Trial 버전이며 윈도우 10 환경에서 사용하고 있습니다.
(* Google 검색시 간혹 Demo version 에서 Protection이 걸려 있다는 답변이 있는데 실제로 dll 사용에 대한
Protection이 걸려있는게 맞는지요?)
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [프로그래밍 강의] 2021.6~2021.12 | 관리자 | 2015.01.22 | 39583 |
공지 | 유용한 관련 사이트 | 관리자2 | 2014.03.20 | 79087 |
10 | REST Application에서 앞에 '0' 이 사라져요... [4] | 딸기 | 2012.02.28 | 20362 |
9 | Indy ftp 한글깨짐 질문 입니다 [8] | sdj | 2012.04.04 | 21163 |
8 | ios 자신의 전화번호 확인은 불가능한건가요? [3] | 델마당쇠 | 2020.08.25 | 21323 |
7 | project 그룹 안의 bpl 간의 변수 공유에 대해 질문드립니다. [2] | 국카 | 2020.08.13 | 28166 |
6 | 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? | 양현숙 | 2012.08.16 | 32906 |
5 | 제다이(Jedi) 컴포넌트 설치 방법을 알려주세요 [1] | 관리자 | 2012.04.05 | 43556 |
4 |
FireDac:다른hstmt의결과에 연결이 사용중입니다 라는 오류에 대해
[4] ![]() | jcijang | 2016.09.14 | 58798 |
3 | 아이폰 본인 전화번호 확인방법?? [1] | kerry | 2018.01.20 | 79254 |
2 | 구버전 설치시 시리얼번호 문의 [1] | DevCK | 2020.06.02 | 95485 |
» |
Delphi XE8 Loadlibrary를 이용한 VC++ dll 사용에 대한 문의드립니다.
[1] ![]() | mir | 2015.12.24 | 224204 |
Static 과 Dynamic 에서 모두 모듈이 호출이 안되는 것으로 보아서 Fuction을 라이브러리에 등록 하셨는지 확인하십시오.
보통 델파이에서는 Function 을 선언하고 구현(코딩)하고 별도로 라이브러리 소스에 exports 하고 Function 이름을 등록해야 호출 됩니다..
보통의 C언어에서도 export할 함수의 정의를 위하여 Header File을 생성하셔야 하는 걸로 알고 있습니다.
http://rainiac.com/dev/index.php/dll-%EC%A0%9C%EC%9E%91%EB%B0%A9%EB%B2%95-1-non-mfc-dll/
그 외의 경우 라이브러리와 실행 파일 디렉터리가 일치 하는지 확인 하시고 함수의 대소문자 만 정확히 구변되면 호출 됩니다.