자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
594 [10.4 시드니 신기능] 이제 리눅스 클라이언트 프로그램 개발이 윈도우처럼 가능합니까? 험프리 2020.06.10 448
593 특정 번호로 기본SMS 앱을 열려면? [2] 세민 2020.06.03 675
592 FMX Tnumberbox 천단위 separator 질문 [1] 델델델 2020.05.29 318
591 컴포넌트 해더 패스 설정방법이 궁금합니다. 쿠리 2020.05.21 132
590 안드로이드에 사이드폼(작은폼)을 만들수 있나요? [1] 델마당쇠 2020.03.24 151
589 앱개발이 처음이라 질문좀 받아주세요... [2] file dlleopvhei 2020.03.19 273
588 안드로이드에서 다른 응용프로그램 알림 메세지 정보를 전달 받을수 있나요? 델마당쇠 2020.03.14 3047
587 IOS, OSX용으로 만들어진앱 [1] 100jk 2020.03.11 168
586 안드로이드 9.0 버젼일때 앱 튕기는 현상 [2] 희망나라 2020.03.06 270
585 안드로이드에서 음성인식 및 TTS(Text To Speach) 델마당쇠 2020.03.03 793
584 로딩화면 관련해서 질문드립니다. [1] 델마당쇠 2020.03.02 277
583 파이어몽키에서 TPanel에 Form을 넣을 수는 없는 걸까요? [2] 아크나톤 2020.02.28 143
582 NFC 카드에뮬레이션 문의드립니다. [1] 초보델팡이 2020.02.07 259
581 안드로이드 난독화 관련 문의 드립니다. [1] file jhan 2020.02.07 214
580 FMX LISTVIEW 에 PROGRESS BAR를 넣을수 있습니까? [2] 델마당쇠 2020.02.10 2177
579 Listview 문의 입니다_버튼 추가시 클릭 방법 질문 [1] file 파레토 2020.02.14 1803
578 TGrid를 db와 연결했는데 이미지 필드에 이미지가 안나옵니다. 델마당쇠 2020.02.10 404
577 [안드로이드][64bit배포][C++ Builder] 안드로이드 배포 관련 문의 입니다. [3] vastia 2020.02.03 357
576 '완료' 버튼의 키 값이 궁금합니다. [3] file 푸른솔 2020.01.14 862
575 파이어몽키 소켓통신 - 질문수정 [2] hs 2019.12.17 293