Einzelnen Beitrag anzeigen

FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#1

Eigene Komponete / Darstellungsfehler?!

  Alt 22. Dez 2014, 09:38
Hallo Zusammen,

also ich versuche gerade mich an der Komponenten-Entwicklung ... soweit so gut, eigentlich
Mein Problem besteht in der Laufzeit...

1. FAMPanel => Komponente abgeletitet von TPanel-> OK.

Delphi-Quellcode:
unit famui;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type

  CorporateDesign = record
    white: TColor;
    black: TColor;
    gray: TColor;
    darkgray: TColor;
    blue: TColor;
    blueLight: TColor;
    red: TColor;
    font: String;
  end;

  FAMPanel = class(TPanel)
  private
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
  end;

const
  _CorporateDesign: CorporateDesign = (white: clWhite; black: clBlack;
    gray: $00F8F8F8; darkgray: $00E5E5E5; blue: $00D37C00; blueLight: $00E9BE80;
    red: $001619DA; font: 'Roboto Light');

implementation

{ FAMPanel }

constructor FAMPanel.Create(AOwner: TComponent);
begin
  inherited;
  self.BevelInner := bvNone;
  self.BevelOuter := bvNone;
  self.Color := _CorporateDesign.white;
  self.font.Name := _CorporateDesign.font;
end;

destructor FAMPanel.Destroy;
begin

  inherited;
end;

end.
2. FAMCard => Komponente abgeletitet von FAMPanel -> OK.
2.1 3 panels (FAMPanel) der Komponente (FAMCard) hinzugefügt -> OK

Delphi-Quellcode:
unit card;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, famui;

type

  FAMCard = class(FAMPanel)
  private
    { Private-Deklarationen }
    Header: FAMPanel;
    Content: FAMPanel;
    Footer: FAMPanel;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('FAMUI', [FAMCard]);
end;

{ TFamGUI }

constructor FAMCard.Create(AOwner: TComponent);
begin
  inherited;

  // Default size of fam card
  self.Width := 600;
  self.Height := 400;

  // Create header of card
  Header := FAMPanel.Create(self);
  Header.Parent := self;
  Header.Color := _CorporateDesign.gray;
  Header.Align := alTop;
  Header.Height := 90;

  // Create content of card
  Content := FAMPanel.Create(self);
  Content.Parent := self;
  Content.Color := _CorporateDesign.white;
  Content.Align := alClient;

  // Create footer of card
  Footer := FAMPanel.Create(self);
  Footer.Parent := self;
  Footer.Color := _CorporateDesign.gray;
  Footer.Align := alBottom;
  Footer.Height := 90;

end;

destructor FAMCard.Destroy;
begin
  inherited;

end;

end.
3. Komponete wurde installiert -> OK
register.png

4. Komponete im Designer / neues Projekt -> OK
designer.jpg

5. Komponete nach der Kompilierung -> Error
hier sind Header, Content, Footer nicht zu sehen.

runtime.jpg

woher kommt dieser Unterschied?
  Mit Zitat antworten Zitat