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
[43660] Re:Re:TChart 문제 (Logarithmic)
쩡이 [] 931 읽음    2006-02-13 16:00
외랑님! 답변 감사드립니다.
Logarithmic이 로그함수였군요. 켁 ㅡ.ㅡ;
예전 프로그램이 문제를 일으켰을 때 떴던 오류메세지를 캡쳐해서 첨부파일로 올립니다.
이 두가지 메세지가 번갈아가면서 나타납니다.

지금 새롭게 알아낸 것인데 Desired Increment에 0을 넣었을 때, 이런 문제가 발생합니다.
1을 넣으면 정상작동하고요.
소스부분입니다.

void __fastcall TfrmTemp::GraphScan(unsigned int Value)
{
    iValueX++;          // unsigned int 선언
    iValueY= Value;  // unsigned int 선언

    AnsiString sValueX= FormatDateTime("HH:NN", Now());
    chtCurrent->SeriesList->Series[0]->AddXY(iValueX, iValueY, sValueX, clBlue);

    if(iValueX>10) {  // X축 인덱스가 10 넘으면
        chtCurrent->SeriesList->Series[0]->Delete(0);
        chtCurrent->BottomAxis->SetMinMax(iValueX-9, iValueX);
    }
}

스레드에서 GraphScan()을 호출해서 차트를 그리고요.
차트가 안보여질 때는 어떠한 값이 차트로 들어가도 잘 작동합니다.
차트를 보고 싶을 때, 버튼을 클릭해서 ShowModal()로 폼을 띄울려는 그 순간,
ShowModal() 부분에서 Break가 걸리면서 에러메세지를 띄웁니다.
프로그램을 처음으로 실행시키고, 처음으로 ShowModal로 볼 때, 일어나는 문제인데요.
그 때 당시에 Y축으로 들어간 값이 대략 1200 이상의 값이 들어가 있으면 이런 현상이 나타납니다.

Desired Increment을 조정해서 프로그램이 정상적으로 동작은 하는데 불안하네요.
질문을 정리하면 X축, Y축의 입력값에 제한이 있는가,
2의 32승까지는 값을 받아야하거든요.
그리고 Desired Increment가 Y축 라벨의 값 표시 폭으로 이해하고 있는데,
이런 것으로 인해 말씀드린 문제가 나타나는 것인지요?
혹 문제점이 있어서 말씀해주시면 감사하겠습니다.
좋은 하루 되세요.



외랑 님이 쓰신 글 :
: 쩡이님의 질문에 대한 답변
: : 처음에는 Y축 값으로 약1200이상 들어가면 프로그램이 오류메세지를 띄우면서 멈춰버렸습니다.
: - Y의 값이 1200보다 커지면 오류인가요? 질문을 잘 모르겠어요.. 조금 더 자세히 질문해 주시면 답변해드릴수 있을지도 모르겠습니다.
: : Y축 라벨이 50씩 값이 올라가는데요. 위쪽으로 갈수록 모여져서(?) 그려집니다.
: - Log를 사용하시면 당연히(?) 모여져서 그려집니다. Y값의 log값으로 생각해 보시면... 이해하실 수 있으실겁니다.
: 이는 Log함수의 특징이라 그렇습니다. 전 영역중 큰쪽이든 작은쪽이든 한쪽을 자세히(? 관심영역을) 보이고 싶을때 쓸수있습니다.
: Chart부분 소스를 보여주시면 좀 더 상세한 답변을 드릴수 있을지 모르겠네요..^^*
: 그럼 하시는 일 성공하시길 바랍니다.
:
:
: 쩡이 님이 쓰신 글 :
: : C++Builder 6 사용자입니다.
: : 빌더에 기본적으로 들어있는 TChart를 이용해서 그래프를 나타낼려고 합니다.
: : 처음에는 Y축 값으로 약1200이상 들어가면 프로그램이 오류메세지를 띄우면서 멈춰버렸습니다.
: : (저와 비슷한 문제를 겪은 질문이 몇 개 있더군요.)
: : 그래서 차트를 더블클릭하면 나타나는 Editing 창의 Axis/Scales 안의 Left Axis에 Logarithmic (대수?)
: : 이 옵션을 사용하니 커다란 값도 입력은 잘 받습니다.
: :
: : 질문드리고자하는 내용은..첨부파일을 보시면
: : Y축 라벨이 50씩 값이 올라가는데요. 위쪽으로 갈수록 모여져서(?) 그려집니다.
: : 균일하게 그리게하고 싶은데요.
: : 다른 컴포넌트와 충돌이 나는가 싶어 다른 컴퓨터에 빌더 하나만 달랑 설치해도 마찬가지입니다.
: : 어찌할지 모르겠습니다. 혹시 원래 그런건지도 모르겠구요.
: : 아시는 분은 알려주시면 감사하겠습니다.
: : 오늘 하루도 즐거이~

+ -

관련 글 리스트
43642 TChart 문제 (Logarithmic) 쩡이 956 2006/02/13
43649     Re:TChart 문제 (Logarithmic) 외랑 983 2006/02/13
43660         Re:Re:TChart 문제 (Logarithmic) 쩡이 931 2006/02/13
43662             Re:Re:Re:TChart 문제 (Logarithmic) 외랑 1987 2006/02/13
43674                 Re:Re:Re:Re:TChart 문제 (Logarithmic) 쩡이 1116 2006/02/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.