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
[44329] Re:빌더6에서 e2247 에러가 발생하였는데 원인을 찾을수 없습니다.
박지훈.임프 [cbuilder] 984 읽음    2006-03-30 21:29
ChannelList 속성을 보시면 read 함수만 있고 write 함수가 지정되어 있지 않지요?
그런데 코드에서 ChannelList에 값을 쓰려고 하기 때문에 난 에러입니다.

아무래도 ChannelList 속성의 선언이 포함된 소스 DTAcq32Lib_OCX.h 가 잘못 생성된 것 같습니다.
BDS 2006과 C++빌더 3에서는 문제가 없었다면, 그 버전들에서 생성된 소스와 해당 부분을 비교해보세요.

그럼...


이종민 님이 쓰신 글 :
: 빌더6에서 e2247 에러가 발생하였는데 원인을 찾을수 없습니다.. 도와주세요.
:
:
: //****** file : DTAcq32Lib_OCX.h 의 일부..********
: public:
:   virtual  __fastcall TDTAcq32Proxy(TComponent* AOwner) : TOleControl(AOwner)
:   {};
:   virtual  __fastcall TDTAcq32Proxy(HWND        Parent) : TOleControl(Parent)
:   {};
:
:   // OCX methods
:   //
:   void            __fastcall AboutBox(void);
:   void            __fastcall PowerOff(void);
:   void            __fastcall PowerOn(void);
:   double          __fastcall GetSSCapsEx(short OlSSc);
:   .
:   .
:   .
:
:   // OCX properties
:   //
:
: <--------- 이부분을 엑세스 할수 없다고 나옴..------------->
:   __property short QueueSize[short uiQueue]={ read=get_QueueSize };
:   __property BSTR BoardList[short index]={ read=get_BoardList };
:   __property BSTR SubSystemList[short index]={ read=get_SubSystemList };
:   __property long DIOList[short index]={ read=get_DIOList };
:   __property TOLEBOOL InhibitList[short index]={ read=get_InhibitList };
:   __property double FilterValues[short index]={ read=get_FilterValues };
:   __property double GainValues[short index]={ read=get_GainValues };
:   __property double MaxRangeValues[short index]={ read=get_MaxRangeValues };
:   __property double MinRangeValues[short index]={ read=get_MinRangeValues };
:   __property short ResolutionValues[short index]={ read=get_ResolutionValues };
:   __property double FilterList[short index]={ read=get_FilterList };
:   __property double GainList[short index]={ read=get_GainList };
:   __property short ChannelList[short index]={ read=get_ChannelList };
:   __property _DDTAcq32Disp ControlInterface={ read=GetDefaultInterface };    
:
:
:
: //******** file : main.cpp파일에서 에러가 난부분 *********
:
:
: for (short i=0;i<Neuro32->DTAcq->ListSize;i++) {
:                 Neuro32->DTAcq->ChannelList[i] = constChList[i];
:                 Neuro32->DTAcq->GainList[i] = 1;
:                 Neuro32->DTAcq->InhibitList[i] = False;
: }
:
:
:
: //*********에러 메시지**********
: E2247 'TDTAcq32Proxy::ChannelLIst' is not accessible
:
:
: 빌더 3과 bds에서는 이부분에서 에러가 나지 않습니다.. 근데 6.0에서만 에러가 나는데.. 원인을 알수 없네요.. 혹시 아시는분 꼭 알려주세요

+ -

관련 글 리스트
44294 빌더6에서 e2247 에러가 발생하였는데 원인을 찾을수 없습니다. 이종민 887 2006/03/27
44329     Re:빌더6에서 e2247 에러가 발생하였는데 원인을 찾을수 없습니다. 박지훈.임프 984 2006/03/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.