|
자세한것은 모르겠지만.. 아마도, 제가 상상하기에는..
ActiveForm으로 만드신 경우에는.
메소드에 관련된 TActiveFormXImpl과
Form과 관련있는 ActiveForm Class가 따로 생성되어 있을겁니다.
만약 Button을 넣으셨다고 하면 ActiveForm클래스에 Button이 있을꺼구여.
그래서 Button이 없다고 나올 것입니다.
에러가 날지 안날지 모르겠지만. 아마도..
m_VclCtl 이 멤버함수가 ActiveForm과 연결되어 있을겁니다.
m_VclCtl->Button1->visible = false;
이런식으로 사용해야 하지 않을까 합니다.
김한석 님이 쓰신 글 :
: 안녕하세요?
:
: 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과의 데이터를 주고 받을려면 위와 같은 식으로 해야 한다고 해서
: 만들었습니다)
:
|