|
Undefine Symbol 이 맞습니다.
Button1가 선언된 클래스가 TActiveFormXImpl이 아니지 않나요?
그럼 Undefine이 맞지요?
TActiveFormX *TempX = (TActiveFormX) this->m_VclCtl;
TempX->Button1->Visible = false;
라고 해주시면 되는데요
더 간단히는 m_VclCtl->Button1->Visible = false; 로해주시면 됩니다.
전자나 후자나 똑같습니다. (후차를 추천합니다.)
m_VclCtl이 선언된 위치와 방법은 소스를 직접 뒤져보시면 금방 찾을수 있을꺼구요
보시게되면 아!!!!!!!!!! 하실겁니다.
김한석 님이 쓰신 글 :
: 안녕하세요?
:
: ActiveX Form을 만들었습니다...(관련 책자도 없고 해서 옳게 만들었는지 모르겠네요)
:
: 폼 위에다가 버튼을 하나 얹구요...
:
: View -> Type Library를 선택해서 타입라이브러리 창을 띄워서
:
: New Method를 선택해서 이름을 BtnDisplay라고 넣고 Refresh Implementation을 해서 폼에 적용을
: 시켰습니다..
:
: 그 후에 생성된
: STDMETHODIMP TActiveFormXImpl::BtnDisplay()
: {
: try
: {
: Button1->Visible=false; <== 요렇게 적었습니다.
: }
: catch(Exception &e)
: {
: return Error(e.Message.c_str(), IID_ITestPrintX);
: }
: return S_OK;
: };
:
: 에다가... Button1->Visible=false;
: 라고 적으니까 에러가 납니다.
:
: 에러의 내용은 Undefined symbol 'Button1' 이라고 나오는데..
: 이 에러는 그런이름을 가진 컴포넌트가 없을때 주로 나는에러잖습니까?
:
: 즉...인클루드가 빠졌다거나 또는 개체가 없을때 나는 에러인거 같은데...
: 여기서 부터 막혀서 해결이 안되네요...
:
: 고수님들의 한수 가르침을 부탁드립니다. 꾸벅
:
: (타입라이브러리에서 뉴메소드 해서 만든 이유는 웹페이지에서 파라메타로
: ActiveX Form과의 데이터를 주고 받을려면 위와 같은 식으로 해야 한다고 해서
: 만들었습니다)
:
|