자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15843
공지 유용한 관련 사이트 관리자2 2014.03.20 54639
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98098
879 [연말 이벤트] 개발자 Q&A 게시판을 가장 잘 활용해주신 분 상품 증정 관리자 2018.11.12 258
878 개발툴 버전업(Delphi 7 -> Tokyo) : ocx 및 컴포넌트 설치 관련 [2] 김기 2018.11.12 276
877 안드로이드애서 글자 주변에 테두리(라인?) 이 생깁니다. [3] file nervsystem 2018.11.13 542
876 CameraComponent 문의 [5] icj 2018.11.13 333
875 모바일 터치 이벤트 관련 문의 박수영 2018.11.13 109
874 Incompatible type 에러 [2] gent 2018.11.14 1024
873 Incompatible type 에러 (재질문) [1] gent 2018.11.15 396
872 Delphi TWebBrowser 에서 360 파노라마 VR 속도가 늦어요. [3] file midas 2018.11.19 260
871 Intent 함수를 이용한 사진 불러오기 및 (파일)경로 취득 빌게이츠 2018.11.20 264
870 MediaPlayey를 이용한 실시간 카메라 영상 스트리밍 관련 문의 [3] icj 2018.11.20 303
869 FCM 백그라운드 서비스 문의 [1] icj 2018.11.21 223
868 XE2 사용하다 10.2를 써보니 Table 콤포넌트가 없네요? [1] 날라리아 2018.11.23 133
867 신규버전 설치할 때 이전 버전에서 설치된 콤퍼넌트 그대로 사용하는 방법 [2] 델피노 2018.11.23 290
866 10.3에서 핸드폰과 연결이 안되요? [7] file 화이부동 2018.11.23 1126
865 [10.3 리오 출시 세미나] 이전버전에서 ui에서 컨트롤 다중선택시 포인트 에러나는거 잡혔나요? 험프리 2018.11.26 119
864 [10.3 리오 출시 세미나] 10.2.X 에서 CMake 사용할 수 있게 되었다는데, 사용법에 대한 Tip 없나요? 험프리 2018.11.26 175
863 [10.3 리오 출시 세미나] 매니지드 레코드 기능만 보류된 거 아닌가요? 험프리 2018.11.26 72
862 [10.3 리오 출시 세미나] 10.2 도쿄 라이센스(서브스크립션)로 사용중인데, 10.3 라이센스를 별도로 취득하는 행위를 해야하나요? 험프리 2018.11.26 126
861 xe10.2 사용자 입니다. interface not supported 오류에 대해서?? [1] 쿠핑 2018.11.27 584
860 datasnap devdev 2018.11.27 190