단도 직입적으로 말씀드리면, DLL파일로 부터 배열을 리턴받으려 합니다.
방법이 없는지요....빠른 답변 부탁드려요 ^^;
제가 한 것을 말씀드리면...
=main.pas 파일에서
type
A = array[1..20] fo string;
이라고 정의해 두고, A 타입으로 변수 하나를 정의한 후 DLL 내부 함수로부터 넘겨지는 배열을 받으려 했습니다.
=select.dll(dpr) 파일에서
function b_select(i : integer):A;stdcall;이라는 함수를 만들어서
bus라는 변수를 main에서 정의한 A 타입으로 선언을 하고, 거기에 값을 넣었습니다.
그런후, 값을 리턴 시키기 위해 b_select:=bus; 라고 쳤습니다.
실행을 시켰을때 모든것이 전부 다 잘!~~~ 수행이 됩니다.
그러나 종료를 시키면, 델파이 컴파일 상에서는"Invalid pointer error"(확실히는 기억이 안나지만 포인터 에러는 확실함) 가 뜹니다.
그리고 탐색기에서 실행시킬경우 Runtime Error가 뜹니다.
왜 잘~ 실행되다가 종료시에 그러한 에러가 뜨는지 잘 모르겠군요.
제가 테스트한 결과 아무래도 DLL파일에서 배열을 리턴값으로 넘겨주는것이 잘못 된 것 같습니다.
배열을 꼭 DLL에서 리턴 받아야 하는데, 방법이 없는지요~~~ (부탁!^^;)