|
김정완 님이 쓰신 글 :
: 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
:
: };
:
:
|