자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 20056
공지 유용한 관련 사이트 관리자2 2014.03.20 58961
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102580
494 알람앱 만들기 질문드립니다. [2] 루피 2018.07.17 399
493 Firemonkey의 Webbrowser에서 로컬 Pdf 파일 읽기 [1] 슈퍼맨 2018.06.22 877
492 DragMode가 dmAutomatic일 때, 클릭 이벤트 작동하지 않음 VT 2018.06.12 267
491 안드로이드 기반에서 mysql 데이터 베이스로 바로 접속하는 방법 없나용? [1] 김종찬 2018.05.30 381
490 삼성폰에서 TEdit 엔터키를 입력하면 앱이 죽어 버립니다. 파이어버드 2018.05.31 192
489 uses permission으로 설정한 권한 런타임시 허용 대화상자 띄우는 방법이 궁금합니다. [1] 김태윤 2018.05.24 691
488 10.2 도쿄 안드로이드 에뮬레이터 세팅 관련 [1] 스머프 2018.05.28 536
487 TButton에 TImage를 Child로 만들었는데.. [1] 미크 2018.05.16 155
486 iOS 에서 Bluetooth Low Energy 검색이 안되는데, 저만의 문제인가요? [1] 지병철 2018.05.11 190
485 쇼핑몰 결제시스템 연동 문의 지병철 2018.04.23 327
484 베를린으로 안드로이드 개발시 string Grid 클리어는 어떻게 하는지 알고 싶습니다. [1] wiju 2018.04.10 249
483 TListBox 런타임 시 스크롤 위치 변경방법이 궁금합니다. 김태윤 2018.04.09 313
482 부팅시 자동실행(브로드캐스트 리시버)예제를 따라하니 앱이 강제 종료됩니다. [1] file 김태윤 2016.06.01 814
481 JAR를 임포팅하여, 인터페이스로 구현된 콜백함수를 호출하지 못하고 있습니다. [2] 조르디 2018.03.27 234
480 seattle FMX에서 GetJDisplayMetrics hsson 2018.03.28 139
479 안드로이드를 선택할 경우 run이 비활성화 되었습니다 [2] 조르디 2018.03.21 187
478 RadStudio tokyo 10.2.3 설치 후 TMapView Error [2] 제우스 2018.03.21 267
477 Tokyo 10.2.2에서 안드로이드용 실행문제 [2] 스카이 2018.01.26 272
» 동적생성한 컴퍼넌트 해제 질문입니다. [1] 희망나라 2018.02.28 261
475 최신폰 하단의 Navigation Bar 에 따른 FormResize 문제 [1] 지병철 2018.03.05 227