자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15759
공지 유용한 관련 사이트 관리자2 2014.03.20 54576
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97972
3179 C++ 빌더 10.4 Data Base Form에 Data Base Component들이 안보임 [2] file 꼬꼬마 2021.03.11 160
3178 connection editer 희망나라 2021.03.12 109
3177 10.4.2 인스톨후 안드로이드 11 SDK문제 [2] 불나방 2021.03.10 385
3176 child form 에서 mdi form 의 버튼 클릭 이벤트 [1] 가나다 2021.03.12 239
3175 안드로이드 업데이트 이후 [3] file 지구수비방위대 2021.02.17 1066
3174 TListBox 내 TListItem 삭제 [2] 공수래 2021.03.10 158
3173 Interbase System Encryption password needed [1] 임종범 2021.03.10 341
3172 sqlite [1] 희망나라 2021.03.10 450
3171 델파이 MDI 폼에서 쪽지 알람 기능 가능? [1] 가나다 2021.03.10 335
3170 아파치 RAD Server 연동 날개 2021.03.11 87
3169 error - can't bind address: Address already in use. [2] file 그아이네 2021.02.23 185
3168 [질문] 동적 생성된 버튼 객체의 해제 유무 [2] 공수래 2021.03.05 160
3167 [질문] TEdgeBrowser 에서 새창 크기 문제 [1] 겨울아이 2021.02.10 398
3166 델파이(10.4.1) ios App 전체화면 안되는 부분 질문드립니다. 쟝히 2021.03.04 866
3165 c++ buider 10.4.2 버젼 설치하고 테스트 [2] sihwan 2021.02.25 450
3164 JSON 통신시 한글 꺠짐 [1] 똘귀아빠 2021.02.24 364
3163 lambda expression 내에서 parameter의 property에 쓰기시 this 가 암묵적 capture 가 되는 문제 [2] 아루스 2021.02.04 1904
3162 FireDAC Connection 체크를 어떤 방식으로 하는게 좋을까요? [1] 육식육식 2021.02.22 303
3161 10.1 Berlin VCL Appearance 변경 시 프로그램 프리징 현상 [1] file 생각 2021.02.25 164
3160 [질문] DataSnap과 Mobile 연결 [2] 오는새벽 2021.02.25 340