자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 97973
554 ERR_CLEARTEXT_NOT_PERMITTED 에러... [1] 이재홍 2019.05.27 618
553 unable to start gdbserver on port '64311' can't open socket: permission denied delphi 2019.06.04 647
552 업데이트 서브스크립션 구입방법? [1] 100jk 2019.05.29 126
551 java2op 로 변환후에... 오류 광수생각 2019.05.02 176
550 자료실 jar 연동하는것을 보고서.. [1] file 광수생각 2019.04.30 566
549 파이어몽키 Mediaplayer에서 지원하지 않는 Media [3] 해신여화 2019.04.29 470
548 IOS와 안드로이드에서 설치되어있는 폰트명 가져오는 방법 100jk 2019.04.25 124
547 vcl 라이브러리를 firemonkey로 변환하는데 애를 먹습니다 ㅠ.ㅠ [1] 아크나톤 2019.04.21 270
546 델파이에서 안드로이드 개발중 만난 네트워크 오류입니다. [2] 장은우 2019.03.29 387
545 PALY스토어 앱 자동 업데이트 file 델파인 2019.03.31 701
544 안드로이드 BLE 자동 접속 문제 조대현 2019.03.31 185
543 10.3.1 영문/한글이 잘리는 문제 [2] file delphiman 2019.03.22 282
542 10.3.1 리오 - 버튼 툴바등 컴포넌트 컬러 [2] 델파인 2019.03.19 319
541 Shape 컨트롤 의 Stroke문제 100jk 2019.03.18 105
540 TBitmap 갯수 및 크기제한 [2] 100jk 2019.03.06 140
539 FMX에서 플랫폼의 CPU 코어갯수나 스레드 갯수가져오는법? 100jk 2019.03.01 123
538 FMX 에서 엑셀제어 [2] 100jk 2019.02.26 215
537 FireMonkey Form 화면 터치시 문제점. file victor 2019.02.27 1070
536 내전화번호 함수 10.3 에러 [2] file 델파인 2019.02.24 1302
535 SMTP 관련 문의 [1] 빌더유저 2019.02.15 130