자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

간단한 컴포넌트(FMX)를 만들어서 테스트해보려고 했는데, 의도되지 않은 결과가 나와서 질문드립니다.

설명: TRectangle을 상속받아 컴포넌트를 만듬.

      1. TLayout, TSpeedButton을 생성하여 컴포넌트(TNHSchedule)에 포함시키도록 코딩한 후 인스톨합니다.

      2. 설치된 컴포넌트를 빈폼에 올려보면 정상적인 듯 하지만,

      3. 실행파일을 만들어보면 이상하게도 TLayout, TSpeedButton이 하나씩 더 보여서 두 개 중복되는 오류발생.

          (디자인모드에서 컴포넌트를 Cut하고 Paste해보아도 같은 현상 발생)


컴포넌트 소스는 아래와 같습니다.   왜 그럴까요?   제 실수일까요?  델파이 버그일까요?



unit NHSchedule;

interface

uses
  System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Objects
  , FMX.Layouts, FMX.StdCtrls;

type
  TNHSchedule = class(TRectangle)
  private
    fTopLayout: TLayout;
    fBtnYear: TSpeedButton;
  protected
    procedure Resize; override;
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('N&H4FMX', [TNHSchedule]);
end;


constructor TNHSchedule.Create(AOwner: TComponent);
begin
  inherited;
  fTopLayout := TLayout.Create(self);
  fTopLayout.Parent := self;
  fTopLayout.Align := TAlignLayout.Top;
  fBtnYear := TSpeedButton.Create(self);
  fBtnYear.Parent := fTopLayout;
  fBtnYear.Align := TAlignLayout.Center;
  fBtnYear.Text := '2016';
end;

destructor TNHSchedule.Destroy;
begin
  inherited;
end;


procedure TNHSchedule.Paint;
begin
  inherited;

end;

procedure TNHSchedule.Resize;
begin
  inherited;
  fTopLayout.Height := Height / 6;
  fBtnYear.SetBounds(0,0,Width /3, fTopLayout.Height/2);
end;


end.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54581
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97989
753 [마이그레이션 세미나] 보안모듈로 암호화 하는 내용이 궁금합니다. 험프리 2015.11.24 568
752 FireDAC사용 쿼리하는 동안 진행중 표시 어떻게..? [2] 공감 2018.10.01 569
751 xe7 professional firebird dbexpress 사용? [1] 수인아빠 2015.03.03 569
750 애플 앱 ipa파일을 impactor로 설치시 발생한 에라. [1] file 화이부동 2017.11.22 570
749 FDMemTable 를 Query 로 읽기 [1] 송동진 2017.05.06 571
748 [마이그레이션] 컴파일 시 Required package 'cds' not found 오류가 발생합니다. 험프리 2016.09.29 572
747 윈도우 키오스크에서 손가락으로 TImage 의 Canvas에 선 그리는 방법 [1] file 미스터몽키 2021.04.19 574
746 apk 파일 생성시 오류 [1] file 민수사랑 2016.10.04 574
745 현재 연결되어있는 USB장치의 이름 가져오기 [1] 박군80 2017.07.26 575
744 안드로이드 ListView item background color 변경 하려면? [1] 델마당쇠 2020.01.03 575
743 안드로이드 64 Bit 컴파일위한 SDK 설정 어떻게 하나요? [4] 해신여화 2019.05.26 578
742 아랍어 등 오른쪽에서 왼쪽으로 커서가 움직이려면 어떻게 하나요? [1] Humphery 2015.03.03 580
741 Cannot Deploy an Application for Android 라고 에러메시지가 뜹니다. [3] file 델러브 2015.04.15 580
740 [공유] 10.2 도쿄에서 리본컨트롤을 찾을 수 없습니다. file 험프리 2017.05.12 581
739 퀀텀그리드 이벤트 관련 문의드립니다. [1] BW 2018.09.19 582
738 xe10.2 사용자 입니다. interface not supported 오류에 대해서?? [1] 쿠핑 2018.11.27 582
737 wsd프린트 자동포트 설치 시 출력이 안됨. 난난난난난 2020.05.27 582
736 [세미나: 데이터와 RAD] REST 클라이언트의 DataSetAdapter에서 XML을 다룰 수 있나요? [1] 험프리 2020.06.24 585
735 다시한번 문의합니다. [2] ScorpioM 2015.02.05 586
734 GetIt Package Manager 에러 대처방법 [1] 스카이 2020.06.14 589