자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi DXE2 에서와 DXE10.2 에서 동작이 다릅니다.
2017.06.06 21:05
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
array of Byte 동적 배열을 생성하고 생성한 동적배열을 Pointer 로 반환하는 GetTest1 를 사용하여 동적배열을 전달받는 것을 테스트 하는데 XE2 와 XE10.2 가 결과가 다릅니다.
첨부한 파일을 열어서 각각 실행해보시면 델파이 XE2 에서는 2, 1 순으로 출력되는데...
델파이 XE 10.2 에서는 2, 0 순으로 출력됩니다.
댓글 1
Delphi DXE2 에서와 DXE10.2 에서 동작이 다릅니다.
2017.06.06 21:05
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
array of Byte 동적 배열을 생성하고 생성한 동적배열을 Pointer 로 반환하는 GetTest1 를 사용하여 동적배열을 전달받는 것을 테스트 하는데 XE2 와 XE10.2 가 결과가 다릅니다.
첨부한 파일을 열어서 각각 실행해보시면 델파이 XE2 에서는 2, 1 순으로 출력되는데...
델파이 XE 10.2 에서는 2, 0 순으로 출력됩니다.
아래 첨부 파일과 같이 수정을 하면 결과가 10.2 에서도 동일하게 표시됩니다. 기본적인 개념은 보내주신 소스대로 사용하였으나 1bytes 변수를 로컬변수에서 implemantation 부분으로 옮겨서 사용하고 함수 호출 부눈에 type cast를 사용하지 않았습니다. 단지 의심스러운 것은 원래 pointer는 메모리에 할당된 주소를 가리키는데 로컬 변수는 메모리에 할당되지 않기때문에 그 부분이 좀 잘못된것 같습니다.