|
tmp[18] 이므로 모든 tmp관련 연산은 tmp[0] ~ tmp[17]범위에서 해야 합니다.
tmp[Count-1] = FormatFloat("0.0000", f); 등등..
박보연 님이 쓰신 글 :
: 시리얼 통신으로 받은 데이터를 float형으로 변환시켜
: 스트링그리드에 나타내려고 하는데요..
:
: 아래 코드를 좀 봐주세요!
:
: //-----------------------------------------
: void TForm2::Write(Byte *ch)
: {
: int i;
: float f;
: AnsiString tmp[18];
:
: if(Count>=1 && Count<=18)
: {
: f = atof(ch); // Count가 1에서 18이 될 때까지는
: tmp[Count] = FormatFloat("0.0000", f); // 이렇게 tmp[Count]에 저장했다가..
: }
:
: if(Count==18) // Count가 18이 되면..
: {
: for(i=1; i<=18; i++)
: StringGrid1 -> Cells[1][i] = tmp[i]; // 스트링그리드에 한꺼번에 나타내려고 합니다.
:
: Count = 0;
: }
: }
: //-----------------------------------------
:
: 컴파일 에러는 없는데 실행 중에 에러가 생길 때 보니까..
:
: if(Count==18)
: {
: .......
: }
:
: 이 부분을 실행하면서 에러가 발생하는 것 같아요.
: ("이 프로그램에서 잘못된 연산을 수행하여 종료됩니다.")
:
: 잘못된 부분이 어디인지 알려주시면
: 무지무지 감사하죠~ ^^
:
: 그럼 답변 기다리겠습니다.
|