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

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

  TMyListView = Class(TListView)
  public
    constructor Create(AOwner: TComponent); override;
  end;

  TListViewArray = Class
  public
    Box : array[1..42] of TMyListView;
  end;

var

ListViewArray: TListViewArray;
 

//동적으로 TListView 생성

ListViewArray:= TListViewArray.Create;

 

procedure Do_Create;

    for r := 0 to ii do begin
      for c := 1 to ixx do begin
        i := (r * ixx) + c;                                      // i 는 1 ~ 42 까지
        //ListView를 42개까지 생성시키면서 프로퍼티를 정함
        ListViewArray.Box[i] := TMyListView.Create(Nil);  
        ListViewArray.Box[i].Width := 50;
        ListViewArray.Box[i].Height:= 50;
        ListViewArray.Box[i].ID := i;

        ListViewArray.Box[i].Position.X := nHoriTerm + (c - 1) * (50+ nHoriTerm); 
        ListViewArray.Box[i].Position.Y := nTopMargin + r * (50+ nVertTerm);
        ListViewArray.Box[i].Parent := FMdiary.Rectangle1;
        ListViewArray.Box[i].IsBigState := False;
        ListViewArray.Box[i].ItemAppearanceName := TCustomListView.TAppearanceNames.ListItemRightDetail;
        ListViewArray.Box[i].ItemSpaces.Left := 0;        
        ListViewArray.Box[i].ItemSpaces.Right := 0;   
        ListViewArray.Box[i].HitTest := False;
        ListViewArray.Box[i].CanFocus := False;
      end;
    end;

 

//동적으로 생성된 TlistView 해제

procedure Do_Destroy;

    for i := 0 to ii do
      for ix := 1 to ixx do begin
        ListViewArray.Box[(i * ixx) + ix].Items.Clear;
        ListViewArray.Box[(i * ixx) + ix].Free;
        ListViewArray.Box[(i * ixx) + ix] := Nil;
      end;
    ListViewArray.free;

 

맨처음 프레임이 생성될때 Do_Create 해서 해당월에 해당하는 일자 만큼 Tlistview을 생성합니다.

 

다음달 또는 이전달을 클릭하면 Do_Destroy 로 기존 컴포넌트 해제하고 나서 

다시 Do_Create 해서 해당월에 해당하는 일자 만큼 Tlistview을 재생성합니다.

 

이코드가 Xe8 로 컴파일한 앱애서는 다음달, 이전달을 수십번 왔다갔다 해도

데이타까지 뿌려주는 작업 포함 2초 안에 해결됩니다.

하지만 XE10 에서는 다음달, 이전달을 왔다 갔다 할수록 현저히 느려집니다.

 

TlistView 해제가 안되는 것인지.?

 

Xe10.2.1 Tokyo 인데 왜 그런지 궁금합니다.

항상 감사합니다.


 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15769
공지 유용한 관련 사이트 관리자2 2014.03.20 54588
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98011
494 외부 자바파일 연동중에 근우아빠 2014.10.23 1754
493 [XE6] InApp 결제 개발 가을이다 2014.10.23 1488
492 Exception in safecall method 발생 superman 2014.10.29 1443
491 [XE6] 앱을 숨겼다가 다시 보일때에 이벤트 [1] 가을이다 2014.10.30 1560
490 [XE6] 자체 웹브라우저에서 다른 앱호출하기 가을이다 2014.10.31 1825
489 [XE6] 나의 도서관앱따라하기에서 블랙스크린이 생기며 실행되지 않네요. [3] 어려워 2014.11.01 1640
488 firemonkey mobile application에서 버튼 드래그 앤 드롭 작동 문제 [1] superman 2014.11.02 1642
487 Delphi XE5 Professional ESD 문의 [1] GearFit 2014.11.06 1275
486 [BaaS] 파일 목록 가져오기 및 삭제 문의드립니다. 멀면벙커링 2014.11.14 1225
485 [XE6] 안드로이드 개발중입니다. [3] 어려워 2014.11.17 1306
484 [XE6] StringGrid의 정렬에 대한 자료를 찾았는데 컬럼의 색이 변합니다. 어려워 2014.11.18 1644
483 [xe7] 간단한 질문 몇가지 입니다. [1] secret hims 2014.11.18 4
482 델파이 앱개발 및 datasnap 개발 문의 [1] 네임 2014.11.19 2159
481 델파이로 맥 애플리케이션을 만들었는데 오라클 DB에 FireDAC으로 어떻게 연결하나요? 관리자 2014.11.21 1099
480 안드로이드 5.0에 델파이로 만든 앱이 올라가지 않습니다. 도움구합니다. [3] heiman 2014.11.21 2206
479 [XE6] 잘 되던 놈이 갑자기 이런메세지가 나네요.... 어려워 2014.11.22 1486
478 datasnap 서버작성후 연결문제 [1] file 다존 2014.11.25 909
477 [질문] 안드로이드 Target에 장치가 로딩되지 않습니다. [1] 이대희 2014.11.27 1664
476 EMS (Enterprise Mobility Service) 와 DataSnap의 차이점에 대한 문의가 많아 요약 정리합니다. 관리자 2014.11.28 980
475 [xe7] 모바일에서 제가 만든 컨트롤에 키보드를 연결하려면 어떻게 해야 하나요? [2] Happycube 2014.12.01 1101