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
[15167] Re:Char* 를 멤버로 갖는 구조체를 입력해야하는 DLL을 호출하다 집에 못들어감 (...)
길이 [gudrlf423] 2263 읽음    2014-05-22 09:35
Access Violation 오류는 거의 생성되있지않은공간을 이용하려고할때 발생합니다.

쉬운 예는
배열의 크기를 3으로 생성해놓고, 4번5번째 배열을 사용하는경우 발생하죠...
또 리스트박스에 항목이 1개만 추가도있는데 2번 항목을 어떠한 작업을 진행할경우 발생합니다.

혹시 모르니 참고만 하시길.............

앨리스 님이 쓰신 글 :
:
: 프로젝트를 진행하면서 DLL 파일을 하나 써야할 일이 생겼습니다.
:
: struct ResultData
: {
:   Double No;
:   char* name;
:   char* value;
:   char* min
:   cahr* max;
: };
:
:
:
: int Upload(int Id, char* sessionName, int DataSize , struct ResultData* ResultDataArray, char* ErrCode);
:
: 대략 이런형식의 함수인데요. 결과값을 구조체에 넣어 배열형태로 DLL에 넣어야 하여,
:
: TResultData = Record
:
:   No    : Double;
:   Name  : PChar;
:   Value : Pchar;
:   min   : Pchar;
:   max   : Pchar;
:
: end;
:
: TResultArr = Array of TResultData;
:
: function upload(ID:Integer;sessionName:Pchar;DataSize:Integer;var ResultData:TResultArr; var ErrCode:PChar);
:
: 이런식으로 포팅하여 실행해보았는데요.
:
: Access Violation 이 나면서 집에 들어가지 못하게 된 상황이 발생하였습니다. (...)
:
: 구조체로 입력하는 부분이 없는 다른 함수들은 잘 실행이 되는데, 구조체로 값을 입력해야 하는
:
: 저 함수만 실행하면 에러가 박박박 뜨네요. ;ㅁ;
:
: TResultArr 를 ^TResultArr 하여 PResultArr 로 만들어 넣어도 보고, 포인터 변수로 넣어도 보고
:
: ResultData를 포인터로 바꿔도 넣어보고 등등 별짓을 다 해봤는데, 몽땅 에러가 나구요 (...)
:
: function upload(ID:Integer;sessionName:Pchar;DataSize:Integer;var ResultData:TResultData; var ErrCode:PChar);

: 로 그냥 구조체 하나만 넣었을때는 에러가 없지만, 그렇게는 쓸수가 없는 함수여서...
:
: C로 된 구조체에선 그냥 ResultData* 로 선언한것을 Allocmem 하고 각 배열에서 다시 각 필드를 allocmem
:
: 하여 그냥 넣게 되어있는데, 왜 델파이에선 똑같이 한다고 해봐도 다 에러가 나는 걸까요 ;ㅁ;
:
: 출장와서 셔츠하나를 4일째 입고 있으려니, 몸이 간질간질해서 내일은 꼭 집에 가고 싶네요 ;ㅁ;
:
: 아시는 분들의 도움을 부탁드립니다. ㅠ_ㅠ
:

+ -

관련 글 리스트
15166 Char* 를 멤버로 갖는 구조체를 입력해야하는 DLL을 호출하다 집에 못들어감 (...) 앨리스 2326 2014/05/22
15167     Re:Char* 를 멤버로 갖는 구조체를 입력해야하는 DLL을 호출하다 집에 못들어감 (...) 길이 2263 2014/05/22
15168         Re: 네. 그부분은 확인해보았습니다. 앨리스 2033 2014/05/22
15169             Re:Re: 네. 그부분은 확인해보았습니다. kylix 1993 2014/05/22
15170                 Re:Re:Re: 네. 그부분은 확인해보았습니다. 앨리스 2086 2014/05/22
15171                     Re:Re:Re:Re: 네. 그부분은 확인해보았습니다. kylix 2181 2014/05/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.