자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 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직접 콜.PNG](http://tech.devgear.co.kr/files/attach/images/131/660/418/01f915f6f214937174341d098a571402.PNG)
그림과 같이 찾을 수 없다는 메세지를 확인할 수 있었습니다.
dll 작성시에는 아래 그림과 같이 함수를 작성해 두었습니다.
![indll.PNG](http://tech.devgear.co.kr/files/attach/images/131/660/418/889e5c6eede74dbda3083867a2f1ba48.PNG)
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 17220
공지
유용한 관련 사이트
관리자2 2014.03.20 56092
공지
본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다.
관리자 2012.01.10 99536
13
FastReport 관련 문의
[1] 쿤이 2021.07.12 294
12
[질문] SMS 문자보내기 창으로 이동하는 방법
[1] 화현 2021.07.18 1440
11
개발툴 업그레이드 XE2 를 XE7 이나 XE8로
[1] 가나다 2021.07.20 291
10
cxGrid의 OnCustomDrawIndicatorCell 이벤트 문의드립니다.
[2] 딤몽 2021.07.26 435
9
MacOS 빌드 Error
[1] Sangin 2021.08.03 359
8
[질문] 이미지를 datasnap을 사용하여 서버로 전송밥법
[2] 화현 2021.08.08 1283
7
ios
[1]
지구수비방위대 2021.08.09 341
6
델파이(안드로이드) , cubrid 연결 문의.
[3] Hoony 2021.08.09 1294
5
Multi-Device Application 질문입니다.
[2] UK'S 2021.08.12 961
4
(팁) TRESTRequest Post방식 파일업로드와 함께 텍스트 변수 전송 10.4에서만 성공
미스터몽키 2021.08.18 6811
3
자동차 인식 방법에 대한 질문입니다.
[4]
거북선생 2021.08.25 2080
2
델파이 10.4 patch하니 실행이 안됩니다.
[7]
갈굼정미 2021.08.26 2016
1
JSON 파라메타 한글 문제
[2]
케이피 2021.08.26 2186
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 | 17220 |
공지 | 유용한 관련 사이트 | 관리자2 | 2014.03.20 | 56092 |
공지 | 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. | 관리자 | 2012.01.10 | 99536 |
13 | FastReport 관련 문의 [1] | 쿤이 | 2021.07.12 | 294 |
12 | [질문] SMS 문자보내기 창으로 이동하는 방법 [1] | 화현 | 2021.07.18 | 1440 |
11 | 개발툴 업그레이드 XE2 를 XE7 이나 XE8로 [1] | 가나다 | 2021.07.20 | 291 |
10 | cxGrid의 OnCustomDrawIndicatorCell 이벤트 문의드립니다. [2] | 딤몽 | 2021.07.26 | 435 |
9 | MacOS 빌드 Error [1] | Sangin | 2021.08.03 | 359 |
8 | [질문] 이미지를 datasnap을 사용하여 서버로 전송밥법 [2] | 화현 | 2021.08.08 | 1283 |
7 |
ios
[1] ![]() | 지구수비방위대 | 2021.08.09 | 341 |
6 | 델파이(안드로이드) , cubrid 연결 문의. [3] | Hoony | 2021.08.09 | 1294 |
5 | Multi-Device Application 질문입니다. [2] | UK'S | 2021.08.12 | 961 |
4 | (팁) TRESTRequest Post방식 파일업로드와 함께 텍스트 변수 전송 10.4에서만 성공 | 미스터몽키 | 2021.08.18 | 6811 |
3 |
자동차 인식 방법에 대한 질문입니다.
[4] ![]() | 거북선생 | 2021.08.25 | 2080 |
2 |
델파이 10.4 patch하니 실행이 안됩니다.
[7] ![]() | 갈굼정미 | 2021.08.26 | 2016 |
1 |
JSON 파라메타 한글 문제
[2] ![]() | 케이피 | 2021.08.26 | 2186 |
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/
그 외의 경우 라이브러리와 실행 파일 디렉터리가 일치 하는지 확인 하시고 함수의 대소문자 만 정확히 구변되면 호출 됩니다.