C로 짜여진 DLL에 있는 함수를 쓰는 델파이 프로그램을 작성하였습니다.
그런데 델파에서 포인터를 선언하고 함수의 파라미터로 넘깁니다.
그러면 C에 있는 해당함수가 배열을 만들고 그배열의 주소를 델파이로 아까파라미터로 넘긴 주소에 넣어줍으로써 델파이에 있는 포인터가 C 함수에서 만든 배열을 참조하도록 말입니다.
--------------------------------------------------------------------------------------------------------------------------------------------
델파이소스
p_record_no:PInteger;
GetResult(@p_record_no);
p_record_no[i]를 access하려면 메모리 에러가 납니다. C에서는 되는데...아궁..
C소스는
void GetResult(int **pnrecordno)
{
int a[10]={2,3,5,6,2,1,4,6,2,0};
pnrecordno=&a[0];
}
--------------------------------------------------------------------------------------------------------------------------------------------
델파이에서 포인터를 배열처럼 쓸수 없다는 말을 듣기는 했는데...
C함수에서 어차피 메모리를 할당받아서...그것의 주소만 델파이에서 참조해서 쓰려고 합니다.
가능 한지요? 알려주세요
|