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

FireMonkey 팁&트릭
[3] 메인폼을 얼리지 않고(Idle 상태) 대기하기.
김현수(Humphery) [hjfactory] 7092 읽음    2013-02-28 13:16

볼랜드포럼에 Firemonkey 포럼이 생겨서 기분이 좋습니다. 룰루랄라 합니다.


그래서 좋은 강좌를 남기고 싶은데 별로 아는게 없어서 쿨럭...


그래서 팁이라도 남깁니다.


이번에도 Unittest하며 필요해서 만들어 본것입니다.


OpenDialog를 열고 파일경로를 입력해서 파일을 선택하는 Test 작성 중
OpenDialog.execute하면 바로 열리지가 않죠?


그래서 열릴때까지 대기를 해야 합니다.


Sleep을 주었지요. 하지만 Sleep이 제어권을 놓지 않아 Sleep이 끝나고 창이 열립니다.


그래서 좀 쉬며 기다리게 하려고 봤더니


Firemonkey에서는 GetTickCount 등을 WinAPI를 사용하면 안되지요.


그래서 찾은 놈이 StopWatch입니다.


아래는 제어권을 갖지 않고 대기하는 코드입니다.


uses
  System.Diagnostics;

procedure TTestLib.Delay(ms: Integer);
var
  StopWatch: TStopWatch;
begin
  StopWatch := TStopWatch.Create;

  StopWatch.Start;
  repeat
    Application.ProcessMessages;
    Sleep(1);
  until StopWatch.ElapsedMilliseconds >= ms;
end;

감사합니다. 끝~



PS - 참고로 파이어몽키에서는 이런 유닛테스트가 가능하답니다.(쿨럭... VCL도 가능해요)




+ -

관련 글 리스트
3 메인폼을 얼리지 않고(Idle 상태) 대기하기. 김현수(Humphery) 7092 2013/02/28
(링크)     Delphi Tip'N Tricks > 메인폼을 얼리지 않고(Idle 상태) 대기하기.
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.