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
[48544] Re:변수 넘어가는 것 좀 알려주세요..^^;
장성호 [nasilso] 898 읽음    2007-03-23 13:17
#include "member_reference.h"
#include "member_change.h"   

질문의 내용으로 볼때 에러는

frmmbchange->udata = member_find;  ==> 여기서 발생하는것 같네요

만약 위 코드에서 문제가 나는것이라면 아래와 같은 문제를 생각해 볼수 있을것 같습니다.


@ 문제 가능성 1 -     frmmbchange 객체가 생성되지 않는경우


   위와 같이 include만 한다고 해서 frmmbchange 오브젝트가 생성되지는 않습니다.
project 옵션에서 자동생성으로 해두셨으면 자동생성되었기 문제가 없겠지만
자동생성이 아닌경우에는 coding으로 생성해줘야합니다.

님의 올리신  내용에는 frmmbchange를 생성하는 부분이 없네요

button2 click에서 아래와 같이 mb3변수를 만들어서 사용하셨지만
mb3는 지역변수 일분 아니라 곧 바로 delete하셨구요

        Tfrmmbchange *mb3 = new Tfrmmbchange(this);
        mb3->ShowModal();
        delete mb3;

----해결------

방법 1
    project 옵션
    Forms 에서 auto-create forms에 Tfrmmbchange 을  추가합니다.


방법2
      Tfrmmbreference 이 create될때 Tfrmmbchange 를 생성해 줍니다.

    void __fastcall Tfrmmbreference::FormCreate(TObject *Sender)
    {
            frmmbchange =new Tfrmmbchange (this);
    }


@ 문제 가능성2
     ( 만약 1번 문제가 아니라면...)
     Tfrmmbchange 의   frmmbchange->udata 가  포인터 변수인데 제대로 설정(생성)이 되지 않았거나
    하는 경우가 되겠네요



기타.....




그럼 ....   

    
    
 





------------ 아래 원문 -----------------------------------
버튼을 눌렀을때 변수에 저장되어 있는값을

다른 폼에 넣어 줄려고 하거든요....

소스는 다음과 같이 썼는데요..^^;;

void __fastcall Tfrmmbreference::DBGrid1MouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
        member_find = SQLClientDataSet1MBNAME->Value;
}

//---------------------------------------------------------------------------

void __fastcall Tfrmmbreference::Button2Click(TObject *Sender)
{
        if(member_find != "")
        {
                ShowMessage(member_find);
                frmmbchange->udata = member_find;
        }else{ShowMessage("수정할 고객을 선택해 주세요");}
        Tfrmmbchange *mb3 = new Tfrmmbchange(this);
        mb3->ShowModal();
        delete mb3;

}

DBGrid에서 김도일을 선택하고 버튼을 누르면

첨부파일 1번 같이 나오고요...

ok를 누르면 첨부파일 2번같이 에러가 나오거든요...

무슨에러인지 ;;

접근할수 없다고 나오는 거 같은데....

frmmbchanger과 연결도 했는데... 왜그러는지 알고 싶어요..ㅜㅜ

#include <vcl.h>
#pragma hdrstop

#include "member_reference.h"
#include "member_change.h"

+ -

관련 글 리스트
48541 변수 넘어가는 것 좀 알려주세요..^^; 김은하 834 2007/03/23
48544     Re:변수 넘어가는 것 좀 알려주세요..^^; 장성호 898 2007/03/23
48542     Re:변수 넘어가는 것 좀 알려주세요..^^; 아루스 884 2007/03/23
48638         Re:Re:해결 됐습니다..^^ 감사합니다..(냉무) 김은하 826 2007/03/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.