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
[46374] Re:호출함수에서 폼의 인자 얻기
장성호 [nasilso] 968 읽음    2006-08-31 02:03
아래 답변쓰신분의 말씀처럼
TEdit *형을 TForm *변수에 할당하려 했네요



[방법1]
void __fastcall TFunc::EditPrint(TObject *Sender)
{
      TForm *pForm= (TForm *)((TButton *) Sender)->Parent;
       pForm->Edit1->Text= "1234";                            
}

[방법2]
//함수에서 TEdit* 받도록 합니다.
//cast할필요도 없고 편하죠...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        Func->EditPrint(Edit1);   //함수호출, 폼의 원하는 TEdit를 인자로 넘깁니다.
        Func->FormCapPrint(this);   //함수호출, 현재 폼을 인자로 넘깁니다.
}
//------------------------------------
void __fastcall TFunc::EditPrint(TEdit *edt)
{
      if(edt) edt->Text="134";          //넘겨온 인자가 NULL인지 확인한후에...
}
void __fastcall TFunc::FormCapPrint(TForm *frm)
{
      if(frm) frm->Caption="134";          //넘겨온 인자가 NULL인지 확인한후에...
}


쩡이 님이 쓰신 글 :
: 안녕하세요? 도움을 얻고자 질문을 올립니다.
: 하고자 하는 내용이..
: Form1, Form2... 등등, 복수의 폼에 공통적으로 표시할 내용을 하나의 함수로 만들고자 합니다.
: Form1에서 호출했으면 그 결과물을 Form1의 Edit에 뿌리고요, Form2에서 호출했으면 Form2에 뿌리고자 합니다.
: 그래서 호출한 Form의 인자를 얻어와야겠다고 생각했죠. (제대로 된 생각인지는 모르겠네요.. ㅡ0ㅡ;)
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:     Func->EditPrint(Sender);   //함수호출, 버튼 인자를 넘기고
: }
:
: void __fastcall TFunc::EditPrint(TObject *Sender)
: {
:     TButton *pButton= (TButton *) Sender;               //호출한 버튼 알아내고     
:     TForm *pForm    = (TForm *) pButton->Parent;   //버튼의 부모인 폼을 알아내고
:
:     pForm->Caption= IntToStr(1234);
: }
:
: 여기까지는 잘 됩니다. 그런데 문제가 되는 것이...
:
: void __fastcall TFunc::EditPrint(TObject *Sender)
: {
:     TForm *pForm= ((TButton *) Sender)->Parent;  //폼알아내기 한줄요약, 에러발생
:     //에러내용 : E2034 - Cannot convert 'TWinControl * const' to 'TForm *'

:     pForm->Edit1->Text= "1234";                              //호출했던 폼의 Edit1에 출력, 에러발생
:     //에러내용 : E2316 - 'Edit1' is not a member of 'TForm'
: }
:
: Edit1에 출력하는 것은 꼭 해야되는데요.. 힌트라도 주시면 감사하겠습니다.
: 행복하세요..

+ -

관련 글 리스트
46367 호출함수에서 폼의 인자 얻기 쩡이 957 2006/08/30
46392     Re:호출함수에서 폼의 인자 얻기 외랑 1120 2006/09/01
46421         Re:Re:호출함수에서 폼의 인자 얻기 쩡이 900 2006/09/02
46445             Re:Re:Re:호출함수에서 폼의 인자 얻기 외랑 876 2006/09/05
46383     Re:호출함수에서 폼의 인자 얻기 은진 아빠 933 2006/08/31
46391         Re:Re:호출함수에서 폼의 인자 얻기 쩡이 811 2006/08/31
46374     Re:호출함수에서 폼의 인자 얻기 장성호 968 2006/08/31
46375         Re:Re:호출함수에서 폼의 인자 얻기 쩡이 914 2006/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.