Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[3543] [질문] 도와주세요! 이것때문에 잠을 못자요!
위인 [ ] 1134 읽음    1998-07-06 17:45

질문 내용이 좀 길지만 끝까지 읽어주십시요.

오실로스코프처럼 사운드카드의 음성 wave입력신호를 화면에
실시간으로 그려주려고 합니다.

   그런데...
 
    repeat 
       1. 새로운 입력신호가 원하는 양만큼 쌓일때까지 기다립니다.
       2. 전에그렸던 파형을 지웁니다.
       3. 격자 라인을 다시 그립니다.
       4. 새로운 입력신호를 그립니다.
    until false;
   
    를 반복하니까 제가 원하던데로 되긴되는데
   
    화면이 계속 깜빡거립니다. 

    그래서 편법으로 Image Component 2개를 같은size로 겹치게놓고
    둘중에 하나를(아무거나 여기서는 Image1으로 합니다) 화면에서
    않보이게 Visible 옵션을 false로하면 Image2만 화면에보이게 됩니다.

    이제 위의 (1.2.3.4.)를 Image1에 실행하면 제가원하던데로 화면에
    아무런 반응이 없습니다.
    그리고
      
       5. Image1의 화면을 Image2로 Copy하면
         { Image2.Canvas.Draw( 0, 0, form1.Image1.Picture.Bitmap ); 이나
           Image2.Canvas.CopyRect(Image1.ClientRect,Image1.Canvas,Image1.ClientRect); }
            식으로 하면
               
     (1.2.3.4)의 실행 결과가 눈으로 보입니다.
   
    그런데 (1.2.3.4.)는 TImage 가 아닌 TLabel 이나 그냥 폼위에
    Canvas.Line(x,y) 이런식으로 했을때는 잘되었는데

질문1). (5.)때문에 (1.2.3.4.)를 TImage로 바꾸고 살행하니까 프로그램이 죽어요.
          확실치는 않치만 원인은 waveIn CallBack 함수내에서 (1.2.3.4.5)를 호출해서                  
          그런줄알고 (1.2.3.4.5)를 Thread 함수내 에서 호출하니까 되기는되는데
         꼭 이래야만하는지???...
         왜그런지???...

질문2). TLabel이나 폼에 그릴때는 좀 깜빡거리기는 해도 빠르게 화면이 바뀌었는데
         TImage로 바꾸니까 너무느려졌어요.
         왜이런지???...

질문3). game제작기법 중에 2장의 레이어를 교대로 보여주면서 화면을 그려주는방법이
         있다는 것을 이론적으로만알고 있는데 델파이에서는 어떻게 하는지...)
                           ( 되도록이면 DirectX를 않쓰고)

질문4). 제 질문이 좀 귀찮으면 위의 스코프 예제 소스가 올라와있는 인터넷 사이트 라도..

** 여기까지 제 질문 끝입니다 

위질문중 하나라도 가르쳐주세요.

이것 때문에 현제 몇일 밤을 샜습니다.   워낙 실력이 딸린 초보라서...

부탁인데 제발 저좀 잘수있게 도와주세요!!!












   

    



+ -

관련 글 리스트
3543 [질문] 도와주세요! 이것때문에 잠을 못자요! 위인 1134 1998/07/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.