Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr

Recommended Posts

샘플 프로젝트를 통해서 패러랠 프로그래밍의 구현 방법에 대해 알아 봅니다.

image.png

Firemonkey Animation을 이용하여 화면 멈춤 없이 연산이 작동 되는지 확인하는 프로젝트 입니다.

물론 데모용 FloatAnimation을 사용 하지 않으면  FMX가 아닌 VCL 에서도 작동합니다.

스크롤바가 FloatAnimation 에 의해 자동으로 작동되게 설정하고 버튼을 클릭하여 연산시 화면 멈춤이 있는지 확인 합니다.

화면은 아래와 같이 구성 합니다.

특이 사항은 스크롤바에 FloatAnimation 을 지정한 것인데 화면 진행을 보여주기 위한 것입니다.

image.png

 

애니메이션 설정은 아래와 같이 구성하며 스크롤바가 임의로 계속 작동 할 수 있게 설정 합니다.

image.png

 

패러랠 작업이 아닐때 의 실행 코드

procedure TForm1.Button1Click(Sender: TObject);
var
  lValue: Integer;
begin
    Label1.Text := '--';
    {Some calculation that takes time}
    Sleep(3000);
    lValue := Random(10);
    Label1.Text := lValue.ToString;
end;

 

패러랠 작업을 적용한 실행 코드

//  Uses  System.Threading;
procedure TForm1.Button2Click(Sender: TObject);
var
  lValue: Integer;
begin
    Label1.Text := '--';
    TTask.Run(procedure
      begin
          {Some calculation that takes time}
          Sleep(3000);
          lValue := Random(10);

          TThread.Synchronize(nil,
            procedure
            begin
               Label1.Text := lValue.ToString;
            end);
      end);
end;

 

데모영상 

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 토픽(기고/질문)에 답하기

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.