CBBOX = dynamic_cast<TComboBox *>(subform->FindComponent("comboBox" + IntToStr(i)));
이렇게 FindComponent 앞에 폼이름을 지정하세요.
참고로, 저는 다른 폼에 있는 객체의 데이타를 가져올때, 아래 처럼 사용하고 있습니다.
stSelectText = ( (TComboBox*)subform->FindComponent("comboBox" + IntToStr(i))->Text ) ;
gksqjs94 님이 쓰신 글 :
: 안녕하세요.
:
: 메인폼에서 서브폼을 띄워서 서브폼에 있는 다수의 콤보박스와 에딧 값을가져오고싶습니다.
:
: SUB* subform = new SUB();
:
: for(int i = 0 ; i< 20; i++)
: {
: m_pMetadata->m_InformantType[i] = subform->comboBox[i]->Text;
: m_pMetadata->m_InformantName[i] = subform->Edit[i]->Text;
: }
: 요런식으로 얻어오고싶은데 서브폼에 있는 콤보박스의 네임이 comboBox0 , comboBox1,comboBox2 이런식으로 1씩 증가하게 해뒀거든요.
: 저걸 응용해서
: 값을 얻어올수있을까요 ?
:
: 찾아보니까 이런게 있던데 이거는 메인폼에 있는걸 찾아오더라구요 sub폼에 있는걸 가져오고싶어요.
: CBBOX = dynamic_cast<TComboBox *>(FindComponent("comboBox" + IntToStr(i)));
: 위에 코드를 어떻게 수정해야할까요 ?
|