자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

안녕하세요. 모바일로 사내앱을 유지보수중에 있습니다.

THorzScrollBox 에 사내 직원 사진을 전체 불러와서 로컬에 저장 후 뿌려주는데,

기기 성능에 따라 전체직원을 불러올 경우 성능문제(프리징, 팅김)가 많이 발생하고 있습니다.

 

변경해서 생각해 볼것이

전체 이미지를 불러올 때 THorzScrollBox 에서 스크롤 이동시 해당 화면에서만 

이미지를 뿌려주면 성능문제는 없으리라고 보는데,

이미지를 불러오는 1번 배열쪽에서 변경을 해줘야하는지..

2번 THorzScrollBox 옵션쪽에서 변경을 해줘야하는지 감이 오질 않네요.

 

조언좀 부탁드립니다.

 

1. 사번을 기준으로 웹 서버에 존재하는 jpg 파일을 읽어옵니다.

ImageLoadList 프로시저에 해당 배열을 저장합니다.

 

for i:=0 to RecordCount-1 do begin

        v_Emp[i]  := FieldByName('Emp').AsString;

        Next;

end;

 

for i:=Low(v_Emp) to High(v_Emp) do begin

try

Http.Get (WEBSVRURL+v_Emp[i]+'.jpg',MS);

if MS.Size <> 0 then begin

              try

                bmp := TBitmap.CreateFromStream(MS);

                th  := bmp.CreateThumbnail(20,30);

                th.SaveToStream(MS);

                Ms.Position:=0;

                Ms.SaveToFile(v_FileName);

              finally

                th.Free;

                bmp.Free;

              end;

ImageLoadList(v_Emp[i]);

 

2. 해당 프로시저에서는 아래와 THorzScrollBox에 적용합니다.

procedure ImageLoadList(a_No:String);

    begin

      with HorzScrollBox_Image do begin

        h:=Height-Padding.Top-Padding.Bottom;

        w:=Trunc((Height-Padding.Top-Padding.Bottom)*0.80);

      end;

 

      try

        v_Image := TImage.Create(Self);

        with v_Image do begin

          Name          := 'v_Image'+i.ToString;

          Parent        := HorzScrollBox_Image;

          Height        := h;

          Width         := w;

          Position.Y    := HorzScrollBox_Image.Padding.Top;

          Position.X    := HorzScrollBox_Image.Padding.Left+w*i+m*i+1;

          Margins.Right := m;

          Opacity       := 1;

          visible       := true;

          HitTest       := true;

          Tag           := i;

          TagFloat      := i;

          TagString     := a_No;

          OnMouseUp     := onImageMouseUp;

          OnMouseDown   := onImageMouseDown;

          GetEmpImage_Local(a_No,v_Image.Bitmap); <- 핸드폰 로컬에 저장(이후 재 접속시 이미지 불러올 필요없음)

          WrapMode      := TImageWrapMode.Stretch;

        end;

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 39570
공지 유용한 관련 사이트 관리자2 2014.03.20 79078
2752 해상도에 관한 간단한 질문 드립니다 ㅜㅜ file heurinbada 2016.08.16 349
2751 TBeacon컴포넌트사용시 모바일 배터리 소모에대해 김태윤 2016.09.13 349
2750 델파이 오픈 아이콘 버튼을 누르면 델파이가 종료되는 현상 file 화이부동 2016.10.19 349
2749 [VIP세미나] 비콘의 블루투스 LE 스펙(버전)은 어떻게 되나요? 험프리 2016.11.10 349
2748 delphi xe10 firemonkey로 개발한 앱 rooting 폰 및 중국폰 에서 사용 가능 유무 당신이먼저 2017.05.19 349
» FMX THorzScrollBox 이미지 출력 관련 문의드립니다. 생각 2018.08.20 349
2746 delphi 10.2 오류 [1] file midas 2018.08.24 349
2745 delphi svn 에서 add to version control 시 에러 [1] 가나다 2019.05.03 349
2744 VB구조체를 받는 문법 질문 드립니다. [2] 초보델팡이 2019.08.20 349
2743 XE2에서 Cport4.11 사용 중 10.3.1Rio에서 Cport4.11 Install 이후 XE2 Cport 에러나요! [1] 알락투무빗무빗 2019.12.12 349
2742 fast report가 안보입니다. [5] file icj 2020.03.03 349
2741 fmx TEDIT에 스케너로 입력시 속도개선방법문의드립니다. file 오바라미 2017.03.10 349
2740 MediaPlayer 상용컴퍼넌트 추전 부탁드립니다 김상기 2015.04.28 349
2739 IDE 레이아웃 변경에 대하여 [2] file LEO 2017.02.21 349
2738 델파이 10 씨에틀을 사용중인데요.... [1] 도고래 2016.04.21 350
2737 [베를린 웨비나] FireUI Preview 설치 설명을 나중에 게시판 통해서 조금 보강해 주시면 좋겠습니다. 험프리 2016.05.04 350
2736 [베를린 웨비나] 버전이 너무 자주 바뀌는데 앞으로의 정책이나 방향에 대한 것은 없나요. 험프리 2016.05.04 350
2735 FireDAC에서 한글 테이블을 만들고 연결하고자 하면 FDException이 발생 [1] 바람돌이 2016.08.08 350
2734 c++소스 보기창에서 좌측에 보면 사각형에 -와 + 표시가 나오는데 [1] file 금목암 2016.11.01 350
2733 Delphi10.2 평가판 안드로이드 7 안되네요,. [3] 캔나영 2017.08.30 350