|
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에서만 에러가 나는데.. 원인을 알수 없네요.. 혹시 아시는분 꼭 알려주세요
|