[Delphi] Nowy komponent i subkomponent

0

Witam,

Prawdopodobnie mam prosty problem ale nie potrafię sobie z nim poradzić.
Stworzyłem nowy komponent na bazie TPanelu. Umieściłem w nich Labela.
Kiedy wrzucę nowy komponent na formę, widzę ObjectInspektorze rozwijany Label w ramach nowego komponentu, nadaje właściwość caption do tej labelki. I tu zaczyna się kłopot. Efekt zmiany caption jest widoczny w trakcie projektowania formularza. Po uruchomieniu go nie widac juz tego napisu na labelce..
Oczywice w trakcie programu moge zmienic ten caption, ale czemu nie zbiera tej właściwości, którą wpiszę w OI (tak jak na zwykłej Labelce).

Czy jeśli w nowym komponencie wrzuce istniejący komponent, to nie będzie on (ten subkomponent) pamiętał swoich wartości jakie podam mu w OI ?

z góry dzięki za pomoc, walcze z tym jakiś dobry tydzien i nic.

Poniżej wzór mojego komponentu

unit LPanel;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids,stdctrls, ComCtrls, ExtCtrls;

type
  TOpcje = class(TPersistent)
  private
    FColor1: String;
    FColor2: String;
  published
    property Color1: String read FColor1 write FColor1;
    property Color2: String read FColor2 write FColor2;
  end;

  TLPanel = class(TPanel)
  private
    FOpcje: TOpcje;
    FNapis: TLabel;
  protected
  public
    Constructor Create(AOWner:TComponent);override;
    Destructor Destroy;override;
  published
    property Opcje : TOpcje read FOpcje write FOpcje;
    property Napis : TLabel read FNapis write FNapis;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Lech2', [TLPanel]);
end;

Constructor TLPanel.Create(AOWner:TComponent);
begin
  inherited Create(Aowner);
  FNapis := TLabel.Create(Self);
  FNapis.Parent := Self;
  FOpcje := TOpcje.Create;
end;

Destructor TLPanel.Destroy;
begin
  FOpcje.Free;
  FNapis.Free;
  inherited destroy;
end;

end.
0

Wydaje mi się, że błąd leży w tym, że robisz read i write przy tym labelu. Spróbuj bez tego.

0

Sprawdziłem, ale bez read i wrtie nie da się robić właściwości w sekcji published. Chyba, że Cię nie zrozumiałem dobrze.

0

synek to musisz to zapisac a pozniej odczytac czy to takie trudne?

0
... napisał(a)

synek to musisz to zapisac a pozniej odczytac czy to takie trudne?

Dziękuję za fachową poradę :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1