Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[14801] Re:[질문]외부 dll함수를 호출할때 매개변수때문에 EAccessViolation이 발생합니다.
civilian [civilian] 1804 읽음    2013-10-09 16:19
라미엘 님이 쓰신 글 :
: 아래의 비쥬얼C++(6.0)소스는 dll개발사에서 배포한 샘플코드인데 델파이로 코딩을하니 에러가 납니다. ScanParameter구조체에서 short을 델파이에서 smallInt로 변경한 것때문인지 reserved배열 문제인지 원인을 모르겠습니다. BK_SetScanParameter(iScanParameter);함수를 호출하면 Access Violation에러가 납니다.
:
: 고수님들 해결방법 좀 부탁드립니다.
:
:
: //VC++
: #ifndef BKV3_API
: #define BKV3_API __declspec(dllimport) 
: #endif
: typedef struct
: {
:     short Left;           
:     short Top;           
:     short Width;         
:     short Length;        
:     short xResolution;   
:     short yResolution;   
:     short reserved[10];   
: } ScanParameter;
:
:
: BKV3_API int  WINAPI BK_SetScanParameter(ScanParameter *pScanParam);
:
: void aaDlg::OnScan()
: {   
:     ScanParameter pScanParam;
:     BK_SetScanParameter(&pScanParam);
: }
:

:
: //델파이
:
PScanParameter = ^ScanParameter;
:   ScanParameter = record
:     Left           : Smallint;         
:     Top            : Smallint;           
:     Width          : Smallint;         
:     Length         : Smallint;        
:
:     xResolution    : Smallint;    
:     yResolution    : Smallint;    
:     reserved       : Array [0 .. 9] of Smallint;  
:   end;
:
:   function BK_SetScanParameter(pScanParam : PScanParameter)):integer
:     cdecl; external 'BKV3.dll';
:
:   procedure TForm1.Button1Click(Sender: TObject);
: var iScanParameter : PScanParameter ;
:   begin
        New(iScanParameter); : iScanParameter^.Left := 10; : iScanParameter^.Top := 20;
:       // ...기타 셋팅 ...//
:       BK_SetScanParameter(iScanParameter);//dll함수 호출: Access Violation에러
       Dispose(iScanParameter);
:   end;

+ -

관련 글 리스트
14800 [질문]외부 dll함수를 호출할때 매개변수때문에 EAccessViolation이 발생합니다. 라미엘 1768 2013/10/09
14801     Re:[질문]외부 dll함수를 호출할때 매개변수때문에 EAccessViolation이 발생합니다. civilian 1804 2013/10/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.