자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17316
공지 유용한 관련 사이트 관리자2 2014.03.20 56197
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99629
1099 아이폰 진동효과를 내는 방법문의 [2] silkroad99 2015.12.10 670
1098 dbExpress > FireDAC 마이그레이션 관련 문의 [2] allright 2016.09.08 672
1097 xe2 한글 전체 찾기시 문제점 [2] 미키네 2015.02.10 673
1096 세미나 샘플(Push...)을 3가지 기기에서 작동했을때 나타나는 이상증상 [4] file 뭉게구름 2015.03.17 677
1095 uses permission으로 설정한 권한 런타임시 허용 대화상자 띄우는 방법이 궁금합니다. [1] 김태윤 2018.05.24 677
1094 업데이트 후 IdIcmpClient (ping) 오류 [2] icj 2020.03.06 677
1093 DataSnap encryption [9] file 가나당 2015.12.23 678
1092 인쇄 대화상자가 표시되지 않고 인쇄하는 방법 험프리 2019.02.12 679
1091 mysql bigint타입을 퀵리포트에서 출력할때 숫자에 ","를 표시하려면 어떻게 해야 되나요? 임우식 2015.04.02 679
1090 [XE8] 안드로이드 default키보드 IME 모드 [2] 가을이다 2015.10.29 679
1089 폰에 존재하는 call log(즉 수발/발신) 목록 가져오기 [1] 솔루피온 2015.02.16 682
1088 파이어몽키 mms 장문문자+이미지파일및 첨부파일 전송?? [1] kerry 2017.12.07 682
1087 C++ Builder 10.3 / 10.3.1 Clang에서 Code Insight 동작하지 않는 현상 질의? [3] 포비 2019.02.21 682
1086 특정 번호로 기본SMS 앱을 열려면? [2] 세민 2020.06.03 682
1085 interbase 서비스 실행시 오류 [1] 파란바다 2015.06.11 683
1084 Rest 클라이언트 Post 방법 재질문 합니다. [5] 루피 2017.04.04 683
1083 안드로이드 백버튼시 선택 가능한 알림창 띄우기 [2] 씨애틀 2016.03.09 683
1082 RIO 에서 카메라 사용 Permission 주의할 점 [3] file 지병철 2018.12.12 684
1081 Control Key를 누른 상태에서 마우스를 클릭하면 [5] 피터2 2015.11.02 684
1080 폰트다이얼로그 관련 질문드립니다.. 초보델팡이 2019.10.08 687