자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15766
공지 유용한 관련 사이트 관리자2 2014.03.20 54580
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97983
2859 Disconnected session [1] file 우린굉장해 2020.05.15 1052
2858 델파이로 만든 아파치모듈 배포 관련 궁금한 사항이 있습니다 루키 2020.05.12 135
2857 프로젝트 생성시 에러 관련 문의 [7] file 삼이 2020.04.07 392
2856 모발일 Sqlite 데이터베이스를... 김다니엘 2020.05.07 3990
2855 1개의 실행파일에 유닛(폼)을 몇개까지 담을수 있나요 ? 노력하는삶 2020.05.07 142
2854 안드로이드 모바일과 PC USB로 통신 [1] 권동한 2020.04.22 480
2853 [Push 세미나] 바코드, RFID 등 블루투스 장비와 파이어몽키 간 인터페이스 모듈 개발을 하고 싶습니다. 관리자 2020.05.04 255
2852 [Push 세미나] 웹 프로그램 제작 시 쿠키값 저장하는 샘플이 있을까요? 관리자 2020.05.04 945
2851 CppDBDataSnapServer, Client 예제 중 [1] file 토끼왕 2020.04.30 223
2850 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 228
2849 RIO 10.3.1 에서 FastReport 를 설치 했는데 64bit 컴파일시 에러가 나옵니다. [2] 노력하는삶 2020.04.27 184
2848 RIO 10.3.1 에서 FastReport 를 삭제 후 재설치 하려고 하는데 삭제가 안되네요. [2] 노력하는삶 2020.04.28 176
2847 엑셀 저장 오류 [5] 똘귀아빠 2020.04.27 693
2846 Datasnap 서버 세션 관리 [1] 맛재현 2020.04.27 242
2845 Master / Detail 관계에서 DisableControls 사용시 문제 가나다 2020.04.27 178
2844 [FireDAC][Phys][Ora]Ora-12154:TNS:지정된 접속 식별자를 분석할 수 없음. [1] sch.delphi 2020.04.27 1608
2843 델파이로 개발된 GUI프로그램 관련 질문이 있습니다.. [1] 재춘이 2020.04.23 256
2842 RAD Server에서 TFDConnection 트랜잭션 미작동 질문 [4] clogic 2020.04.20 194
2841 RAD 서버 파일 업로드/ 다운로드 관련 [1] arabianwine 2020.04.10 226
2840 [질문]win7 에서 win10업그레이드 화면 딜레이현상 [1] 지호 2020.04.16 304