IT

Delphi7 에서 Indy 업데이트 하는 방법

fraha 2020. 10. 29. 15:18
반응형

델파이7에서 sms를 발송하려고 했다.

 

알리고의 RESTful API를 이용하여 전송하기로 했다.

 

https uri에 post로 전송하면 된다.

 

인디의 IdHTTP 를 사용해서 보내려고 했다.

 

 

하지만 delphi7에 포함된 indy는 버전 9로 SSL이 적용된 페이지에 POST나 GET을 할 수 없었다...

 

API에서는 101을 리턴했다.

 

리턴값으로 검색하여 몇가지 방법을 시도 해 봤지만 안 된다.

 

컴파일은 어떻게 되어도 IOhandler value is not valid 이란 에러가 뜬다.

 

 

동일한 소스로 Delphi 10.3 rio에서 테스트 해 보니 잘 된다.

 

결국 delphi7의 Indy를 Indy10으로 업데이트하기로 했다.

 

 

1. 먼저 델파이7의 indy제거한다.

 

    component > install packages 에서 아래 그림과 같이 Internet Direct (Indy)라는 부분을 선택하고 

 

    Remove 한다. 

   

이렇게 하고 나면 컴포넌트 팔레트에서 indy가 제거된다.

 

델파이 종료후 탐색기에서 dclindy70.bpl을 제거한다. (혹시 모르니 이름만 바꿔놨다.)

 

위치는 델파이가 깔린 디렉토리  보통 C:\Program Files (x86)\Borland\Delphi7\Bin  에 있다.

 

1-1. C:\Program Files (x86)\Borland\Delphi7\Lib\indy10\lib\Full_d7.bat를 관리자 권한으로 실행하여 이전 버전을        완전히 삭제한다.

 

 

2. Indy10 으로 업데이트한  파일은 아래 참고한 사이트의 댓글에서 받았다.

 

2-1. 압축풀어서 Indy10\tags\Indy 10.6.2 - XE8 RTM\Lib 를

 

     C:\Program Files (x86)\Borland\Delphi7\Lib에 하위로 \indy10만들어서 복사

 

     이 부분은 자기가 하고 싶은 위치에 하고  복사한 곳을 나중에 라이브러리에 추가 해 줘도 된다.

    

     델파이에서 복사한 폴더의 아래 파일들을 열어서 컴파일한다.

 

         1. IndySystem70.dpk (Indy10  \ Lib \ System )

 

         2. IndyCore70.dpk (Indy10  \ Lib \ Core에 있음 )


         3. IndyProtocols70.dpk (Indy10  \ Lib \ Protocols에 있음 )


         4. dclIndyCore70.dpk (Indy10  \ Lib \ Core에 있음 ) compile후 install까지 한다.


         5. dclIndyProtocols70.dpk (Indy10  \ Lib \ Protocols에 있음 )  compile후 install까지 한다.

 

 

2-2. Tools > environment > Library 에서

 

      아래사진과 같이 다음 경로를 추가한다.  만약 2-1에서 다른 경로에 있다면 그 곳으로 하면된다.

 

      $ (DELPHI) \ Lib \ Indy10 \ Lib \ Core


      $ (DELPHI) \ Lib \ Indy10 \ Lib \ Protocols


      $ (DELPHI) \ Lib \ Indy10 \ Lib \ SuperCore


      $ (DELPHI) \ Lib \ Indy10 \ Lib \ System

필요한 경로를 추가한 모습

 

그러고 나면 

필요한 IdSSLIOHandlerSocketOpenSSL 가 생겼다.

이렇게 Indy10으로 업데이트되면서 컴포넌트 팔레트의 아이콘들도 모양이 바뀌어서 다시 생겨난다.

 

 

이 내용의 대부분은 movivan.blogspot.com/2013/09/how-to-update-indy-component-library-on.html?showComment=1603946926237#c6373331506192488886 을 참고하였다.

반응형