Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

델파이 2007과 델파이11(알렉산드리아) string 호환을 어떻게 해결해야 하나요?


blueflag

질문

안녕하세요.
고수님들의 도움을 기대하며 질문 올립니다.

델파이2007에서 만든 DLL 파일이 있습니다.
ex) function funEnc(sValue : string) : string; export; 

이 DLL을 델파이 11 프로젝트에서 적용해서 사용하고자 합니다.
ex) ShowMessage(funEnc('ABCDEFG'));

이렇게 값을 던지면 DLL 에 sValue에는 " 'A'#0'B'#0'C'#0'D' " 이렇게 들어옵니다.
델파이 버젼 차이로 string에 크기가 다르다는건 알고있는데요..ㅠㅠ
 

해결 방법 좀 부탁드립니다.

감사합니다.

 


 

이 댓글 링크
다른 사이트에 공유하기

5 answers to this question

Recommended Posts

  • 0

DLL 연동 관련시 참고할 정보가 Devgear에 정리되어 있어,

참고하시면 좋을 것 같아, 링크 공유드립니다.

인용하기

외부 라이브러리(DLL 등) 인터페이스 검토

외부 라이브러리(DLL)와 문자열을 주고 받을 경우 다음 경우에 따라 조치하기 바랍니다.

 

* 델파이로 직접 DLL을 제작한 경우

  - DLL의 export 메소드의 문자열 포인터 데이터 타입을 PChar 또는 PWideChar로 변경 후 다시 빌드해 사용합니다.

* DLL을 직접 제작하지 않은 경우

  -DLL에서 유니코드 지원 메소드를 제공하는지 확인합니다.

  - 만약, 제공하지 않는다면, DLL 인터페이스를 참고해 PAnsiChar 로 DLL Export 메소드의 데이터타입을 변경하고, PAnsiChar(AnsiString(string))와 같이 형변환해 데이터를 전달합니다.
    (이 경우 DLL로 전달하거나, 전달받는 문자열은 유니코드를 제공하지 않습니다.)

참고 사이트 : https://tech.devgear.co.kr/delphi_news/405017

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.