자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17201
공지 유용한 관련 사이트 관리자2 2014.03.20 56077
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99513
579 ToolBar Command Error(View) [2] file 우석이 2014.12.07 786
578 XE7 에서 Firedac 과 DBexpress 데이타베이스 연결 [1] 정연광 2014.12.12 1424
577 안드로이드 앱 작성시 일부만 기본 스타일을 사용하고 싶습니다. [1] 델사냥 2014.12.11 848
576 [질문] Delphi XE7 - Check for Updates 대하여... [2] 델사냥 2014.12.10 822
575 Multi Language 적용 관련하여 질문 드립니다. [1] 앰버 2014.12.09 1056
574 [Delphi XE7] 컴포넌트 내부개체 버그문제 다시 질문드립니다. [2] 사조성 2014.11.27 1149
573 안드로이드 Clipboard 예제 [1] 껌돌 2014.12.09 1500
572 compile error(link) [1] 우석이 2014.11.23 1135
571 안드로이드 5.0에 델파이로 만든 앱이 올라가지 않습니다. 도움구합니다. [3] heiman 2014.11.21 2218
570 푸시기능 도움을 요청드립니다. [1] file 네임 2014.12.04 1252
569 프로그램이 얼어버리고 블랙스크린이 됩니다 어려워 2014.12.02 911
568 나침반 소스를 구하고 싶습니다. [1] songport 2014.12.01 1257
567 [xe7] 모바일에서 제가 만든 컨트롤에 키보드를 연결하려면 어떻게 해야 하나요? [2] Happycube 2014.12.01 1110
566 EMS (Enterprise Mobility Service) 와 DataSnap의 차이점에 대한 문의가 많아 요약 정리합니다. 관리자 2014.11.28 987
565 Pos,Copy,Length,컴포넌트등 한글2바이트문의입니다. [12] 앙큼쟁이블랙 2012.02.07 14857
» [XE7] 컴포넌트 제작하여 설치했더니 문제점 발견되어 질문드립니다. [4] 사도성 2014.11.22 968
563 [질문] 안드로이드 Target에 장치가 로딩되지 않습니다. [1] 이대희 2014.11.27 1670
562 datasnap 서버작성후 연결문제 [1] file 다존 2014.11.25 918
561 다른 언어로 만든 OCX 등록 후 사용 시 에러가 발생합니다. [1] file 앰버 2014.11.26 1204
560 [XE6] 잘 되던 놈이 갑자기 이런메세지가 나네요.... 어려워 2014.11.22 1498