자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54581
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97992
614 TAniThread 문제점 Feelple(고재철) 2012.10.29 7071
613 TCalendarEdit 기능 확인 [1] Feelple(고재철) 2012.10.29 7203
612 TEdit Rotate시 그려지는 문제 file Feelple(고재철) 2012.10.29 7907
611 비디오캡쳐 해상도 변경은 어떻게 해야 하나요? [3] Happycube 2012.11.13 8236
610 델파이XE3에서 FireMonkey TWebBrowser컴포넌트 관련해서 문의드립니다. [2] secret 최은우 2012.11.21 4
609 글을 적은지 한달이 다 되어 가는데.... Feelple(고재철) 2012.11.26 6936
608 Canvas 설정 문제 [1] Feelple(고재철) 2012.11.30 6751
607 XE3에서 FPC 와 FM 라이브러리 위치가.. [1] 푸우우 2012.12.03 10141
606 XE3 TMemo 버그 secret Feelple(고재철) 2013.01.01 4
605 FM의 Grid의 타이틀을 멀티로 사용할려면? memc 2013.03.06 7710
604 XE3 TTreeView에서 마지막 아이템이 선택안되는 버그 [1] Feelple(고재철) 2013.03.18 8127
603 OSX 에서 파라미터 값을 받는 방법이 없을까요? sumily 2013.03.26 8355
602 Tmemo 컨트롤에 대해서 sumily 2013.03.27 6992
601 FireMonkey 2 버그 및 업데이트 계획 WR-Dev 2013.04.23 6189
600 TCanvasGPU 문의 Feelple(고재철) 2013.05.06 6679
599 FM3 질문입니다. Feelple(고재철) 2013.05.10 5594
598 델파이 2009 버전에서 WideString을 사용하였습니다. XE4에서는 더이상 사용하지 못하나요? [1] 관리자 2013.05.21 7398
597 Firemonkey 안드로이드 버전 출시 일정 문의 c2design 2013.07.09 5927
596 파이어몽키에서 스크린의 사이즈 구하는 방법 [1] 관리자 2013.08.19 5594
595 TeeChart v2013 VCL/FMX 구입하면 XE5에서 호환될까요? [1] 딸기 2013.09.11 7581