자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 20035
공지 유용한 관련 사이트 관리자2 2014.03.20 58945
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102557
1099 델파이 폼 팅김 현상 [1] 생각 2018.02.06 324
1098 문의드려요 [1] 중국어사전 2018.02.06 109
1097 나의 도서관 앱 따라하기 실행 Error 관련 문의. [2] file 엔달 2018.02.07 178
1096 Thread안의 변수문의 [1] 한시민 2018.02.07 574
1095 책장 넘기는 효과가 델파이에 있나요? [2] 슈퍼맨 2018.02.07 447
1094 IBConsole DB 추가 및 Connection Error 관련. [2] file 엔달 2018.02.08 230
1093 FMXLinux [1] file 미크 2018.02.08 247
1092 Delphi 10.2.2 Enterprise IB License 문의. [4] file 엔달 2018.02.13 296
1091 안드로이드 개발중에 질문이 있습니다. [2] 웅재 2018.02.13 214
1090 trial 버전에서 DB차트 컴포넌트는 지원하지않나요? [1] syc 2018.02.14 142
1089 ClientDataSet AsString Size 문의 [2] 신현아빠 2018.02.19 208
1088 C++ 10.2 라이브러리 관련질문(6.0과의 라이브러리 호환) [1] goinma 2018.02.22 137
1087 InputBox, InputQueryAsync 등등 입력창 폰트색상 문의드립니다. [1] file 돌팅 2018.02.22 315
1086 안드로이드에서 TMemo 입력문제 해결방안 문의 [4] 지병철 2018.02.23 245
1085 델파이/C++빌더에서 OSX 컴파일 문제 발생 [1] file 토끼왕 2018.02.24 140
1084 XE4, Windows 10에서 CodeGuard 사용 문의 [1] palindrome 2018.02.26 260
1083 소스코드 편집 창에서 블럭 선택 오류 [2] 오랜동안 2018.02.26 323
» 동적생성한 컴퍼넌트 해제 질문입니다. [1] 희망나라 2018.02.28 261
1081 Serial 통신 에러 관련해서 문의드립니다. [1] 김제언 2018.03.05 173
1080 최신폰 하단의 Navigation Bar 에 따른 FormResize 문제 [1] 지병철 2018.03.05 227