자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 19433
공지 유용한 관련 사이트 관리자2 2014.03.20 58340
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 101852
2239 BitBtn 모양이 프로젝트마다 달라요. 도와주세요. [1] file kwy0702 2017.10.26 247
2238 델파이 XE CODE 1400 에러문의 [1] file 후두리찹찹 2018.03.06 247
2237 Firemonkey Stringgrid 표현 [1] 넓다란세상 2019.12.15 247
2236 "D3D_SHADER_MACRO" 에러가 발생 합니다. [2] 하루 2020.06.10 247
2235 델파이 STMP 개발문의 [1] 동네옹 2020.09.27 247
2234 [시애틀 출시세미나] 최근 나온 델파이 기술서적(문법과 컴포넌트 소개)을 알려주세요. Humphery 2015.09.11 248
2233 델파이10 시애틀에서 TFDIBBackup에서 한글 DB명 사용 질문드립니다. [1] 불나방 2016.04.27 248
2232 XE10.2 Showmodal 폼에서 TEdit/TButton등 안 먹습니다. [1] 소란코더 2017.12.15 248
2231 Uses Permissions Target [3] file 헌터 2018.12.06 248
2230 PrintDialog 관련 문의 [2] 쿤이 2020.03.12 248
2229 델파이 초보자 문의드립니다. [2] 유세형 2015.05.14 248
2228 폼을 가로로 고정하는법 [2] 100jk 2018.10.15 249
2227 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 4 - Exercise 5 [2] 관리자 2016.04.29 249
2226 스트링그리드의결과를 Excel File로 출력하는 방법에 대해서 AllwaysHappy 2017.11.10 249
2225 델파이 IBLite 안드로이드 실행시문제 [1] 스카이 2017.02.22 249
2224 [REST 웨비나] REST API와 기존 SOAP와 차이점이 뭔가요? 험프리 2020.09.17 249
2223 TMemo 동적 생성 시 Caret 보이지 않는 문제가 있습니다 [1] 지병철 2018.10.23 250
2222 [현대화 세미나] 리눅스 환경에서 데이터스냅 배포 방법이 궁금합니다. 험프리 2020.01.31 250
2221 안녕하세요 다국어 지원 질문드립니다. [2] 김씨 2020.02.24 250
2220 아래에 시애틀 설치 후 문제로 올렸던거 그 이후 상황 입니다. 나도몰라 2015.10.29 250