감사합니다 덕분에 시원하게 해결되었습니다.
좋은하루 좋은 주말되십시오~
이막수 님이 쓰신 글 :
: 클라우드 님이 쓰신 글 :
: : 안녕하세요.. 델파이라고는 오늘 처음 접해보는 초보 개발자입니다.
: :
: : 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++에서 사용 방법의 문제로 발생하는것 같습니다..ㅠㅠ
: : 가르침 기다리겠습니다 ㅠ
:
: array of pchar 는 언어에 빌트-인 된, 메모리 자동관리까지 되는 델파이 고유의 자료형으로 다른 언어와 호환성이 전혀 없습니다.
: 말씀하신 작업을 하는데는 ppchar 가 가장 적합합니다.
: PPchar 는 널종료문자열(C스트링)의 배열입니다.
|