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
[35807] 고수님들께 여쭙니다.
초보탈출 [] 803 읽음    2004-06-20 22:34
안녕하세요.
고수님들께 여쭙니다.

아날로그 입력신호를 받는 하드웨어에서 초당 500개씩 정수형 값들이 들어오는데
입력을 받기시작해서 끝날때까지는 약 2~10분 정도 걸립니다.
들어오는 값들을 1초 단위로 끊어서 저장을 해야되는데 입력을 받기 시작해서 끝나는
시점을 알수가 없기때문에 메모리를 동적으로 할당을 해야될것 같아서 아래와 같이
TList 를 이용하여 무식한 방법으로 코딩해 봤습니다.

그런데 컴파일 할때는 에러가 없는데 실행시엔 몇초안가 다운이 되버리네요. ㅠㅠ
고수님들 부디 해결방법을 부탁 드립니다. --;


// 초당 500 개씩 들어오는 정수값들을 저장하기 위한 클래스
/***************** BufferManage.h ***********************/

#define BUF_LENGTH      500

class TBufManage
{
    public:

            __fastcall TBufManage( void );

        int BufCount;  // 버퍼에 저장되는 값들을 인덱싱 하기위한 변수
       
        int ValueX[ BUF_LENGTH ]; //저장될 버퍼
};


// 클래스 구현 cpp 파일
/*****************  BufferManage.cpp ***********************/

#include "BufferManage.h"


// 생성자
__fastcall TBufManage::TBufManage( void )
{
    BufCount = 0;   
}




// 스레드 관련 cpp 파일
/*****************  BufThread.cpp ***********************/


TList * BufList;
TBufManage *inbuf;


        ...

BufList = new TList;

        ...


void New_Buf( void )
{
    inbuf = new TBufManage();
}


void AddBufToList( TBufManage * buf )
{
    BufList->Add( buf );
}

// 스레드의 동작함수
void __fastcall TXXThread::Execute(void)
{
    // 최초 버퍼 생성
    New_Buf( );

    while( !Terminated )
    {
        ReadValue = 채널로 부터 들어노는 integer 값 ;

        // 버퍼에 저장
        inbuf->ValueX[ inbuf->BufCount ] = ReadValue;

        // 버퍼가 다 채워졌으면
        if( inbuf->BufCount >= 500 )
        {
            AddBufToList( inbuf );    // 리스트에 버퍼추가
            New_Buf( );               // 새 버퍼 할당

            inbuf->BufCount = 0;      // 버퍼 인덱스 변수 0 으로 셋팅
        }

        inbuf->BufCount++ ;
    }
}


+ -

관련 글 리스트
35807 고수님들께 여쭙니다. 초보탈출 803 2004/06/20
35808     Re:고수님들께 여쭙니다. 방태윤 926 2004/06/21
35822         Re:Re:감사합니다. 박 재성 837 2004/06/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.