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
[8186] Re:임프님 ! 보셔요......문의?
김정완 [] 1610 읽음    2001-06-13 00:46
kids 님이 쓰신 글 :
: 안녕하세요....
:
: 5월 13일날 질문에 답중에..의문사항이 있어서 이렇게 글을 씁니다.
: 제가 질문한건 아니구요....다른분이 물어보신건데..저두 똑같은 문제에 부닥쳐서...
: RS232프로그램에서 컴파일 하는 과정중에 에러가 발생합니다.
:
: 이에 대한 해결책으로
:
: hpp파일에 보면 생성자중 (int)파라미터를 갖는것과 (int,int) 파라미터를 갖는 생성자가
: 두개씩있어서 그대로 컴파일을 하면 multiple declrare....어쩌구 하는 에러가 납니다.
: 둘 다 각각 앞에 것은 선언만 되어 있고, 뒤에 선언된 것은 inline으로 빈 바디가 선언되어 있으므로
: ({ }), 두번째것을 눈 딱감고 삭제해버리면 됩니다.
:
: 라고 답해주셨더군요...
:
: 저두 이 문제인데요...
: 두번째것이 도대체 무엇인지..모르겠어요...
: 좀 삭제할 것을 자세히 말해주셨으면 감사하겠습니다...
: 괜히 잘 못 지울까봐서...이렇게 물어봅니다...
:
: (int,int) 이부분인지? 이것만 지워서는 안되는것 같은데...
:
:
: 명쾌한 답을 부탁드립니다....
:
: 그럼 안녕히 계세요.....


안녕하세요 ^^; 괴물입니다.

임프님이 바쁘신것 같으니(^^;) 괴물이 먼저 답변부터 드리겠습니다.

CPort.hpp에 보시면 642라인에 EComport 클래스가 선언되어 있습니다.

헌데 임프님 말씀데로 661라인과 679라인에 인라인 생성자가 버젓이 재선언(?)되어있습니다.

왜그런지는 괴물머리로서는 아직 모르지만 (--;) 껍데기를 둔 이유가 분명 있을거 같은데 음..

임프님이 자세히 설명해주실지도 모르겠습니다 ^^;;


암튼 재선언된 두부분을 주석처리해주시고, 덤으로

Project Options - Directories/Conditionals - Library path 에

$(BCB)\Projects\Lib 를 추가해주시면 에러없이 빌드하실 수 있습니다.

다음 프로젝트들에도 영향받을수 있게 Default 에 체크 꼭 해주시구요..


고친 부분을 덧붙여드릴테이 참고하시구요

항상.. 즐플밍하시길 빕니다. 울렐레~



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:
    #pragma option push -w-inl
    /* Exception.CreateFmt */ inline __fastcall EComPort(const AnsiString Msg, const System::TVarRec *
        Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
    #pragma option pop
    #pragma option push -w-inl
//    /* Exception.CreateRes */ inline __fastcall EComPort(int Ident)/* overload */ : Sysutils::Exception(
//        Ident) { }
    #pragma option pop
    #pragma option push -w-inl
    /* Exception.CreateResFmt */ inline __fastcall EComPort(int Ident, const System::TVarRec * Args, const
        int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
    #pragma option pop
    #pragma option push -w-inl
    /* Exception.CreateHelp */ inline __fastcall EComPort(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(
        Msg, AHelpContext) { }
    #pragma option pop
    #pragma option push -w-inl
    /* Exception.CreateFmtHelp */ inline __fastcall EComPort(const AnsiString Msg, const System::TVarRec
        * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
        ) { }
    #pragma option pop
    #pragma option push -w-inl
//    /* Exception.CreateResHelp */ inline __fastcall EComPort(int Ident, int AHelpContext)/* overload */
//        : Sysutils::Exception(Ident, AHelpContext) { }
    #pragma option pop
    #pragma option push -w-inl
    /* Exception.CreateResFmtHelp */ inline __fastcall EComPort(System::PResStringRec ResStringRec, const
        System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(
        ResStringRec, Args, Args_Size, AHelpContext) { }
    #pragma option pop
   
public:
    #pragma option push -w-inl
    /* TObject.Destroy */ inline __fastcall virtual ~EComPort(void) { }
    #pragma option pop
   
};


+ -

관련 글 리스트
8182 임프님 ! 보셔요......문의? kids 1317 2001/06/12
8186     Re:임프님 ! 보셔요......문의? 김정완 1610 2001/06/13
8218         Re:김정완님 답변에 감사합니다. kids 1564 2001/06/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.