자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 97989
554 [세미나] 모바일에서 새로운 OS버전이 나오면 어떻게 하나요? [1] Humphery 2014.06.12 2041
553 [세미나] 네이티브코드로 개발된 모바일 버전과 파일사이즈가 차이가 납니다. [1] Humphery 2014.06.12 2084
552 [세미나] 메시지 다이얼로그 표시된 상태에서 절전모드 이후 먹통이 됩니다. [1] Humphery 2014.06.12 2585
551 [세미나] 스플래쉬 추가후 일부 구동시 문제가 발생합니다. [1] Humphery 2014.06.12 2050
550 Rectangle 컬러값 변경 문의 [2] 가을이다 2014.06.13 2637
549 이미지 선택영역 표시하기.. [2] 가을이다 2014.06.14 2481
548 XE5 스크롤박스 사용시 컴포넌트 드래그시 스크롤 미동작. [2] 가을이다 2014.06.14 2372
547 XE5 FireMonkey 버튼 컴포넌트 만들기.. [1] file 가을이다 2014.06.16 2419
546 스크롤시 끊김 현상 [1] 가을이다 2014.06.16 3036
545 XE5 스크롤시 버벅현상 [1] 가을이다 2014.06.20 2115
544 XE5 ISO 개발 옵션 문의 [1] file 햇반 2014.06.20 1814
543 XE6 Label 폰트컬러 변경 문의 [2] file 가을이다 2014.06.23 2005
542 안드로이드에서 MS-SQL 접속 방법 [4] Humphery 2014.06.25 8243
541 xe6 firemonkey tabcontrol 에서 tabitem height 사이즈 변경이 불가능 합니다.. [2] 프리스켄 2014.06.28 2718
540 스크롤박스 버벅현상 개선방법 [3] 가을이다 2014.06.28 2507
539 데이터 스냅 모바일 적용시 오류 초보델파이 2014.07.01 2151
538 XE6 앱개발 기본 에디트박스 스타일없애기 [1] 가을이다 2014.07.01 2426
537 XE6 TMemo 키보드 이벤트 문제 가을이다 2014.07.03 2320
536 XE6 TWebBrowser 종료안됨 현상 [2] 가을이다 2014.07.04 2643
535 Android 에서 미디어(동영상) 플레이하는 방법 (XE5) [3] 초보델파이 2014.07.04 1928