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
[72444] Re:변수값 사라짐
StarWagon [starwagon] 3684 읽음    2015-03-09 20:54
A라는 폼은 동적으로 만든건가요? 디자인타임에서 추가한건가요?

A의 형은 순수한 TForm인가요? TForm을 상속받은건가요?

Function()은 무슨 기능인가요?

m_nValue 는 누구의 멤버변수인가요? B?

...

불확실하지만 대략 상황을 유추해보면....

TForm을 상속받은 어떤 클래스(TForm1)가 있고,
A를 TForm1 형으로 동적 생성을 하고 싶었는데
new로 생성을 안하고 포인터만 선언한 상태로 Function()을 사용.
Function()에서 에러가 났지만, 정상적으로 실행 된것으로 착각하고 변수를 의심...

과 같은 상황 인듯 하네요.

아래처럼 해보세요.

TForm1 *A = new TForm1(this);





빌더 초보자 님이 쓰신 글 :
: 안녕하세요.
: 프로그래밍 도중 아래와 같은 예상치 못한 문제로 인해 진행이 되질 않습니다.
: 고수님들에 답변 부탁드립니다.
:
:                                                   -   아                    래   -
:
: 하나의 폼을 생성했습니다.
: TForm *A;
:
: 그리고 A라는 Form을 B라는 클레스에서 사용하고자 하여
: CPP 파일에 헤더를 올렸고
:
: A->Function();
: 을 실행하였습니다. 그런데
:
: m_nValue = 50;    -> 디버그시  m_nValue 멤버 변수에 정상적으로 50 이라는 값이 잘 들어가 있습니다.
: A->Function();     -> 정상적으로 실행됩니다.
: m_nValue++;        -> m_nValue 멤버 변수값이 "????" 으로 되어 있어 "++" 연산이 되질 않고 뻑납니다.
:                             -> A->Function() 함수를 실행하지 않으면 정상적으로 m_nValue++의 값과 "++" 연산이 이루어집니다.
:                             -> 지역변수를 사용할 경우 A->Function()을 실행하여도 값은 정상적으로 유지 됩니다.
:
: 도데체 어떤 사황때문에 이와 같은 문제가 발생되고 어떻게 하면 해결할 수 있는지 고수님들 부탁드립니다.
:
:
:
:
:
:
:
:
:
:

+ -

관련 글 리스트
72443 변수값 사라짐 빌더 초보자 3701 2015/03/09
72444     Re:변수값 사라짐 StarWagon 3684 2015/03/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.