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

RAD STUDIO 11 버전 설치 후 문제


쑥쑥박

질문

개발환경

b.png.f5bc4a7f72026eacd59c38d585629c0d.png

버전 : RAD STUDIO 10 Seattle upd1

ICPDAS 사의 PISO-ENCODER300U (PCI BUS, 3-axis Encoder Input Card) 카드를 이용하여 개발한 설비 프로그램이 있습니다. 

PISO-ENCODER300U (icpdas.com)

 

현재는 10버전을 사용중으로 컴파일 및 실행 시 아무 문제없이 사용했습니다만, (노트북에서 개발하여 설비PC에 배포 - 대부분의 설비업체 개발자들의 작업방식)

11버전 업그레이드 후 컴파일시 에러는 없으나, EXE파일을 설비 PC에서 실행시 카드를 인식하지 못하는 문제가 발생되었습니다. 

자체 개발한 프로그램의 문제가 있을지 몰라 ICPDAS사에서 제공한 원본 샘플코드를 열어 실행해도 같은 상황입니다. 

원본 샘플 소스를 10버전에서 열어 컴파일 후 실행하면 잘되고, 11버전에서 소스 오픈하여 컴파일하면 안되는 상황입니다. 

차이점을 확인하고 문제를 해결하기 위해.. 아래와 같이 버전별로 기타 추가 컴퍼넌트 설치 없이 신규 설치하여 위의 내용으로 반복 작업해보았습니다. 


RAD Studio 10 Seattle Enterprise      --------->>  이상없음
------------------------------------------    이하 버전 모두 안됨.
RAD Studio 10.1 Berlin Enterprise
RAD Studio 10.2 Tokyo Enterprise
RAD Studio 10.3 Rio Enterprise
RAD Studio 10.4 Sydney Enterprise
RAD Studio 11.0 Alexandria Enterprise

무슨 차이가 있는것인지 모르겠네요... 

문제가 되는 부분은 첨부된 사진의 적색 밑줄 부분입니다. 

a.thumb.png.3b3b804de7f2cfdd957ea6786d29b1ca.png

카드가 설치된 PC에서는 아래의 리턴값이 1이상의 값이 나오고 설치되지 않은 PC에서는 0의 값(ENC6_NO) 값이 리턴됩니다. 

10버전에서는 정확히 0 또는 1이 리턴되고, 그 이상의 버전에서는 무조건 0값이 리턴됩니다. 

ENC6_REGISTRATION 부분의 정의는 아래와 같이 되어 있습니다.  

image.thumb.png.bf68221ef801e7c203f35e7bbf96420f.png

 

현재는 10이상 버전에서는 실행은 되나, 정상 작동이 안되기에

ENC6_REGISTRATION 부분만 문제인건지 전반적으로 모두 문제가 되는지 조차 파악되지 않는 상황입니다.

ICPDAS사에서 제공한 샘플 소스 첨부하겠습니다. 

ICPDAS사에 문의는 해놓은 상태이지만, 회신이 길어져 답답한 상황입니다. 

ICPDAS에서 제공된 소스나 DLL의 문제인지, RAD STUDIO 버전상의 문제인지 답답할 따름입니다. 

첨언 부탁드립니다..

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

2 answers to this question

Recommended Posts

  • 0

안녕하세요. 답변이 늦었습니다.(어려운 문제를 질문주셨습니다.)

문제는 DLL 연동 시 10.1 버전 부터 특정 메소드 호출 시 예상과 다른 값을 반환한다는 것 같습니다.

결론부터 말씀드리면, 라이브러리(DLL)에서 함수 호출 시 왜 1이 아닌 0을 반환하는지 확인하는 것이 빠를것 같습니다.

왜냐하면, 10.0과 10.1 버전 사이에 업데이트된 내용이 매우 많습니다. 그리고 10.1의 새로운 기능을 확인해 봐도 해당 이슈를 발생할 만한 내용이 눈에 띄지 않습니다.
https://docwiki.embarcadero.com/RADStudio/Berlin/en/What's_New

해당 이유로 코드와 델파이 변경사항으로 문제의 원인을 찾는 것은 쉽지 않을 것 같습니다.
(첨부파일의 소스코드와 프로젝트 옵션 등을 살펴봤지만 특별히 문제될 만한 내용은 없었습니다.)

문제해결을 위해 제가 추천하는 방법은 1) 라이브러리를 통해 문제의 원인을 찾고, 2) 해당 문제의 원인을 해결하는 방안을 델파이 코드 또는 환경으로 해결하는 것이 좋을 것 같습니다.

(혹시 몰라 의견을 드립니다.)
Windows 64-bit 컴파일러로 빌드하신건 아니시죠?(우측의 Project 팬에서 Target Platforms에서 변경 가능합니다.)

혹시 DLL 호출에 영향을 줄만한 요소를 아시는 분들이 계시면 답변 부탁드립니다.

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

이 토의에 참여하세요

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

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...

중요한 정보

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