2009/02/14

TurboC++ Explorer 에서 Indy9 사용하기

[출처]
볼랜드 포럼 : 김태선 님
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=858

TurboC++ Explorer 버전에는 Indy 9과 Indy 10이 모두 들어 있습니다.
다만 컴포넌트로 설치되어 있지 않아 디자인 타임에 쓸 수 없을 따름입니다.
하지만 코드로 동적 생성해서 사용하는 것은 아무런 문제가 없습니다.

Indy 9은 9.0.50 버전이 들어 있어 Indy 9을 잘 쓰는 분들은 9.0.18 쓰듯이 쓸 수 있습니다.

코딩으로는 아래처럼 동적 생성해서 사용할 수 있습니다.



#include <idbasecomponent.hpp>
#include <idcomponent.hpp>
#include <idtcpclient.hpp>
#include <idtcpconnection.hpp>
#include <idtcpserver.hpp>

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TCPServer = new TIdTCPServer(this);
TCPServer->DefaultPort = 80;

Caption = TCPServer->Version;
}
//---------------------------------------------------------------------------

하지만 링크에서 에러를 내는데, 이는
Install Packages->Runtime Packages에 한줄로 패키지 명이 나열되어 있는 끝에
;indy 를 추가해 주면 됩니다.
그러면 링크 및 실행화일 만들어 내는데 아무런 문제 없이 잘 됩니다.
하지만 단독실행 화일을 만들때는 안되므로 이때는 코드 중에
#pragma link "indy.lib"
를 한줄 넣어주면 됩니다.

코딩으로 일일이 인디를 쓰자면 조금 답답한 면이 있는데,
이는 Builder 6 Personal 버전에 Indy9를 설치하면 디자인타임에 쓸수 있으므로, 같은 코딩을 해보면
Include 파일 및 이벤트 핸들러 프로토타입 형태의 코드가 생성되므로
이를 그대로 TurboC++ Explorer 버전에 복사해서 쓰면 됩니다.


이는 TurboC++ Explorer 설치시 Indy 9을 선택한 뒤라 이렇게만 해도 되는데,
인디 10을 선택한 경우는 Search Path를 Indy9으로 재조정해야 합니다.


그럼

Original Post : http://neodreamer-dev.tistory.com/253

No comments :

Post a Comment