자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 19791
공지 유용한 관련 사이트 관리자2 2014.03.20 58760
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102312
579 IOS 앱실행관련 문의사항입니다. ( 디바이스 연결 관련 ) [2] 궁금한사람 2019.09.06 295
578 FireDAC 를 이용한 DB 접속( MSSQL ) [2] 천재일 2019.09.06 1975
577 RAD Server 에서 간단한 get을 하는데 에러가 나는데 원인을 모르겠어요. [4] 종결자 2019.09.08 239
576 백업을 해놔야하는 확장자들 [3] 100jk 2019.09.09 317
575 IOS 앱실행관련 문의사항입니다. ( 디바이스 연결 관련 2번째) [2] 궁금한사람 2019.09.10 158
574 uses절에 포함된 유닛의 타입을 가져다 쓰려면 어떻게 해야 하나요? [3] 한태수 2019.09.16 326
573 ExportGridToXLSX 사용시 특수문자처리 [1] 가나다 2019.09.17 1989
572 델파이 프로그램 배포 후 오류 [4] file gent 2019.09.17 912
571 Delphi 10.2 Tokyo dbExpress 및 FireDAC 문의 [4] file 엘트 2019.09.19 265
570 폼 생성과 해제 [1] 엽기토끼이요 2019.09.20 6656
569 delphi 10.3.2 TRestClient 구조가 변경된듯 [1] 미스터몽키 2019.09.22 348
568 TBannerAd의 에러 조언부탁합니다. [1] file 토끼왕 2019.09.23 148
567 RIO 권한 관련문제 [1] 피터팬 2019.09.24 144
566 firedac에서 alias사용한 쿼리를 edit하면 에러가 나네요. [1] fraha 2019.09.25 230
565 firedac으로 mssql 쿼리시 속도 [1] 빅비스 2019.09.27 177
564 rs-232 통신이 안됩니다. [1] 쿠리 2019.09.27 229
563 NFC 관련 태블릿 안드로이드 개발 관련 자료 [1] file 미스터몽키 2019.09.28 600
562 폼 생성과 해제. [2] 엽기토끼이요 2019.09.29 516
561 StringGrid 의 이미지 넣은 후 해제 하는 질문 입니다. [4] 초보델팡이 2019.09.30 158
560 10.3 Starter Edition 관련 Overload 문제건 [2] 한태수 2019.09.30 124