안녕하세요.. 델파이라고는 오늘 처음 접해보는 초보 개발자입니다.
Delphi 로 만들어진 DLL 을 Visual C++에서 사용하려합니다..
function A( str : pchar): pchar; 의 경우에는 C++ 에서 char* 로 받아 값을 참조하니 정상 작동하는데..
------------------------------------------
TStrArray = array of array of pchar;
function B( str : pchar): TStrArray ;
..
temp: TStrArray;
SetLength(temp, 2, 3);
temp [0, 0] := '바보';
....
Temp [1, 2] := '사람';
...
result := temp;
----------------------------------------
부분 생략하긴 했지만 델파이를 잘 모르는 제가봐도 아주 간단한 코드이고 문제가 없는것같은데..
C++에서 호출하면 터져 버리는지라;; (Access Violation..error)
이렇게 도움을 구합니다...
리턴되는 TStrArray 가 c++ 로 하면 char* [][] 과 같은것 같은데..
2차원이든 3차원이든 가능한 여러 타입으로 리턴을 받아봐도.. 데이터를 던져주기전에 호출단계에서 터지는지..
디버깅을 할수가 없네요..
아무리봐도 Delphi 코드상의 문제는 없고 C++에서 사용 방법의 문제로 발생하는것 같습니다..ㅠㅠ
가르침 기다리겠습니다 ㅠ
|