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

C++빌더 Q&A
C++Builder Programming Q&A
[45308] Re:Dll 로 배열을 넘겨주고 배열을 넘겨 받는 법..
BloodWolf [cyberpd] 1184 읽음    2006-06-15 13:35
: BYTE msg[10];
:
:  msg[0] =0x01
:  msg[1] =0x02
:  msg[3] =0x03
:
: 이렇게 넘어가면 DLL 에서 처리한 값이
:
:  msg[0] =0x06
:  msg[1] =0x07
:  msg[3] =0x08
:

배열은 포인터로 접근할 수 있습니다.
DLL내의 함수를 아래와 같이 정의하면 가변길이 배열에 대한 데이터를 주고 받을 수 있습니다.

//parameter _msg: 배열 시작 포인터
//parameter _size: 배열 길이
void SetMsg(const BYTE* _msg, const int _size);

//parameter _msg: 데이터를 받아올 배열의 시작 포인터
//return: 받아온 데이터의 길이
const int GetMsg(BYTE* _msg);

//////////////////////////////////////////////////
사용예)
BYTE msg1[10]={0,};
msg1[0]=0x04;
msg1[1]=0x05;
msg1[2]=0x06;

SetMsg(msg1,3);

BYTE msg2[10]={0,};
int size=GetMsg(msg2);
for(int index=0; index<size; ++index)
{
    cout << "index[" << index << "]=" << std::hex << msg2[index] << std::endl;
}

+ -

관련 글 리스트
45304 Dll 로 배열을 넘겨주고 배열을 넘겨 받는 법.. 형사 856 2006/06/15
45309     Re:Dll 로 배열을 넘겨주고 배열을 넘겨 받는 법.. 장성호 984 2006/06/15
45308     Re:Dll 로 배열을 넘겨주고 배열을 넘겨 받는 법.. BloodWolf 1184 2006/06/15
45307     Re:Dll 로 배열을 넘겨주고 배열을 넘겨 받는 법.. 외랑 977 2006/06/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.