C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[66049] Re:C++ Builder XE에서 CPort 4.1 사용하기 문의!
빌더 [] 1813 읽음    2012-01-26 12:55
Kenzuro 님이 쓰신 글 :
: 인터넷 검색을 통해서 C++ Builder XE에서 CPort 4.1 컴파일 했습니다.
:
: http://kenzuro.tistory.com/191
:
: 제 블로그에 하는 방법을 정리해서 올려놨는데요. 여기서 약간의 문제가 발생하였습니다.
:
: TComPort를 올리고 컴파일을 해보면 EComPort 중복선언 오류가 뜹니다.
:
:
class DELPHICLASS EComPort;
: class PASCALIMPLEMENTATION EComPort : public Sysutils::Exception
: {
: 	typedef Sysutils::Exception inherited;
: 
: private:
: 	int FWinCode;
: 	int FCode;
: 	
: public:
:         //__fastcall EComPort(int ACode, int AWinCode);
: 	//__fastcall EComPort(int ACode);
: 	__property int WinCode = {read=FWinCode, write=FWinCode, nodefault};
: 	__property int Code = {read=FCode, write=FCode, nodefault};
: public:
: 	/* Exception.CreateFmt */ inline __fastcall EComPort(const System::UnicodeString Msg, System::TVarRec const *Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
: 	/* Exception.CreateRes */ inline __fastcall EComPort(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
: 	/* Exception.CreateResFmt */ inline __fastcall EComPort(int Ident, System::TVarRec const *Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
: 	/* Exception.CreateHelp */ inline __fastcall EComPort(const System::UnicodeString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
: 	/* Exception.CreateFmtHelp */ inline __fastcall EComPort(const System::UnicodeString Msg, System::TVarRec const *Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
: 	/* Exception.CreateResHelp */inline __fastcall EComPort(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
: 	/* Exception.CreateResFmtHelp */ inline __fastcall EComPort(System::PResStringRec ResStringRec, System::TVarRec const *Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
: 	/* Exception.Destroy */ inline __fastcall virtual ~EComPort(void) { }
: 	
: };

:
: CPort.hpp를 보면 위와 같이 선언되어 있는데요
:  //__fastcall EComPort(int ACode, int AWinCode);
: //__fastcall EComPort(int ACode);
:
: 두가지를 주석처리하면 정상적으로 컴파일이 됩니다. inline 함수 선언과 충돌이 일어나는 것 같은데요. 궁금한건 이것을 주석으로 처리해도 되는지 입니다. 지금 컴파일이 잘 되더라도 코딩하다가 문제가 생기면 난감할 것 같아서 문의 드립니다. 꼭좀 도와주세요 ㅜ.ㅜ


이미 오버로드된 콘스트럭터 들중에 (int), (int, int) 타입의 파라미터를 갖는 콘스트럭터가 클래스 선언부에서
인라인으로 정의되어있기 때문에 주석으로 처리해줘야 합니다.

+ -

관련 글 리스트
66045 C++ Builder XE에서 CPort 4.1 사용하기 문의! Kenzuro 1778 2012/01/26
66049     Re:C++ Builder XE에서 CPort 4.1 사용하기 문의! 빌더 1813 2012/01/26
66051         Re:Re:C++ Builder XE에서 CPort 4.1 사용하기 문의! Kenzuro 1790 2012/01/26
66055             Re:Re:Re:C++ Builder XE에서 CPort 4.1 사용하기 문의! 빌더 1958 2012/01/26
66066                 Re:Re:Re:Re:C++ Builder XE에서 CPort 4.1 사용하기 문의! Kenzuro 3480 2012/01/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.