자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15804
공지 유용한 관련 사이트 관리자2 2014.03.20 54605
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98044
2259 c++ builder vcl form에서 패널 마우스업 다운 질문있습니다.(좌클릭, 우클릭) 빌더에러좀... 2018.07.27 227
2258 delphi10.2 SDK 관련 설정 문의 2 신우 2018.09.10 227
2257 문의 드립니다 [2] 투덜이스머프투 2019.05.17 227
2256 dbexpress mssql connection 질문 라우토 2020.06.11 227
2255 RAD 서버 파일 업로드/ 다운로드 관련 [1] arabianwine 2020.04.10 227
2254 GetIt Package Manager에 등록된 컴포넌트 설치 [3] sihwan 2020.10.05 227
2253 VCL 소스 폴더와 ShellControls 컴포넌트가 왜 없나요? (XE10) [1] 서어 2016.05.04 228
2252 CppDBDataSnapServer, Client 예제 중 [1] file 토끼왕 2020.04.30 228
2251 컴포넌트 설치관련 [4] file 개미 2018.01.03 228
» 동적생성한 컴퍼넌트 해제 질문입니다. [1] 희망나라 2018.02.28 228
2249 IBConsole에서 [3] file 개발자로 2018.09.07 228
2248 델파이 64비트에서 android:debuggable 옵션을 false 로 하는 방법 좀 가르쳐주세요. [1] 델파이_사랑 2019.12.16 228
2247 "D3D_SHADER_MACRO" 에러가 발생 합니다. [2] 하루 2020.06.10 228
2246 도서 대여 프로그램을 C++ Builder로 변경시 Error [4] file 겨울잠안자는곰 2018.01.10 229
2245 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 229
2244 기존 MDI프로극램에 데몬프로그램 기능을 추가하고 싶습니다 [4] 헨씀히포 2020.02.03 229
2243 DBgrid 입력시 위치를 맨 위로 보내는 방법 델펀맨 2016.12.15 230
2242 [문의]delphi 10.2.3 도쿄에서 JEDI 패키지 설치시 에러 [1] 데르파이 2018.06.07 230
2241 델파이 10.1 안드로이드용 앱푸시 알림관련 문의 경일 2018.06.22 230
2240 FireDAC. FDMEMTable의 txt 반출관련 속도개선 문의드립니다. [4] 오바라미 2018.10.16 230