Q&A

  • 화면정지없는 딜레이
보통 딜레이 쓰려면
Sleep 쓰잖아요...
근데 Sleep 쓰면 윈도우 화면이 아예 멈추는데,
Sleep 처럼 화면이 멈추지 않고
딜레이가 진행되는게 없나요?
API 좀 알려주세요
(아니면 다른 방법이라도)
3  COMMENTS
  • Profile
    가을바람 2009.01.03 05:45
    멀티 쓰레드..
  • Profile
    김태연 2009.01.03 19:56
    ㄴ 그러니까 그 방법좀...
  • Profile
    장성호 2009.01.06 00:38
    먼저 Delay(디레이)하려는 목적이 무엇인지 궁금합니다.

    그 목적에 따라서 쓰레드로 만들수도 있고, 아니면 그냥 메인쓰레드에서 처리할것도 있구요..


    먼저 쓰레드로 만들려면..

    Delphi - IDE에서 File-New-Other... 에서 Thread-Object 를 선택해서 Add 하신후에
    Thread의 Execute 에 원하는 코드를 넣으시구..
    거기서 Sleep이나 WaitForSingleObject 나 WaitFormMultipleObject 등을 쓰면 되구요..


    그냥 메인쓰레드에서 하려면...
    같은 함수 roof를 두번 이상 타지 않도록 주의하시구
    while구문같은것으로 반속해서 원하는 시간만큼 지났는지 계속 체그하시구요
    구문중간에 Application.ProcessMessages를 넣으시면 됩니다.

    다름과 같은 식으로...

    target=_blank>http://www.delphi.co.kr/zboard/view.php?id=tips&no=71



    procedure Delay(TickTime : Integer);
    var
    Past,Now: Integer;
    begin
    Past := GetTickCount;
    repeat
    Now := GetTickCount;
    Application.ProcessMessages;
    Until Now > Past + TickTime;
    end;



    그럼..