Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Keine eigenen Properties im Objectinspektor (https://www.delphipraxis.net/143710-keine-eigenen-properties-im-objectinspektor.html)

Schorschi5566 21. Nov 2009 18:07


Keine eigenen Properties im Objectinspektor
 
Hallo DPler,

ich verwende Euer Forum schon recht lange lesend und habe eigentlich immer das gefunden, was mir Rätsel aufgegeben hat. :-D


Aber heute komme ich nicht weiter und habe wohl auch nicht die passenden Suchbegriffe gefunden um eine Lösung zu finden.

Also ich habe eine eigene Komponente von TEdit abgeleitet und einige Properties im published-Zweig definiert.

Habe gelesen, dass diese Properties zur Designtime im Objectinspektor erscheinen sollten.

Tun sie aber leider nicht. Was mache ich falsch? Ich verwende RadStudio Enterprise also Delphi 2007.


Delphi-Quellcode:
type
  TDoubleEvent = procedure(Sender: TObject; Value: Double) of object;
  TNEdit = class(TEdit)
  private
    NegativeAllowed : Boolean;
    OnlyInteger : Boolean;
    Zeroes : Boolean;
    Digits : word;
    iValue : Integer;
    fValue : Double;
    function GetText : String;
    procedure SetText(sText : String);
    function GetIntVal : Integer;
    procedure SetIntVal(IntVal : Integer);
    function GetDouVal : Double;
    procedure SetDouVal(DouVal : Double);
    { Private-Deklarationen }
  protected
    procedure KeyPress(var Key : Char); override;
    procedure Change; override;
    { Protected-Deklarationen }
  public
    constructor Create(AOwner: TComponent); override;
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    property Negative: Boolean read NegativeAllowed write NegativeAllowed;
    property IntegerOnly: Boolean read OnlyInteger write OnlyInteger;
    property LeadingZero: Boolean read Zeroes write Zeroes;
    property Precision: Word read Digits write Digits;
    property IntVal: Integer read GetIntVal write SetIntVal;
    property DouVal : Double read GetDouVal write SetDouVal;
  end;
Im Objectinspektor sehe ich trotzdem nur die Sachen von TEdit und sonst nichts.


Hat jemand einen Tipp?

Viele Grüße und schonmal danke im Voraus,
Uwe

thkerkmann 21. Nov 2009 18:28

Re: Keine eigenen Properties im Objectinspektor
 
Hi,

Du hast Deine abgeleitetet Komponente auch registriert, oder ?

Gruss

Schorschi5566 21. Nov 2009 18:35

Re: Keine eigenen Properties im Objectinspektor
 
Hallo Thomas,

ja, habe Package gemacht und sie installiert. Registriert ist sie auch, kann sie ja auf Form ziehen...


Du meinst doch das, oder?

Delphi-Quellcode:
procedure Register;
begin
  RegisterComponents('Standard', [TNEdit]);
end;

Grüße,
Uwe

DeddyH 21. Nov 2009 19:41

Re: Keine eigenen Properties im Objectinspektor
 
Und sie steht auch als TNEdit in der DFM und nicht etwa "nur" als TEdit?

Schorschi5566 22. Nov 2009 09:04

Re: Keine eigenen Properties im Objectinspektor
 
Hallo DeddyH,

ja, als TNEdit. Sowohl im OI wie auch im Form. Alles soweit ok.

Zur Laufzeit kann ich die Properties ja auch benutzen.

Wäre halt schöner, wenn ich sie auch schon im Objectinspektor voreinstellen könnte.

Wie muss das sein? Wenn ich eine Property definiere und kompiliere, ist sie dann sofort im OI sichtbar oder muss da nochmal das Package installiert/compiliert werden?

Danke für Eure Hilfe.


Grüße,
Uwe

mkinzler 22. Nov 2009 09:09

Re: Keine eigenen Properties im Objectinspektor
 
Am Besten Package neu registrieren oder IDE neu starten.

Schorschi5566 22. Nov 2009 14:16

Re: Keine eigenen Properties im Objectinspektor
 
Hi zusammen,

vielen Dank. Ich habe es mittlerweile hinbekommen. Hatte beim Komponenten-Assistenten einen eigenen Pfad für meine Komponenten-Unit angegeben, was ihm wohl nicht so geschmeckt hat.

Was mir nicht ganz klar ist, ist wie man Komponenten während der Entwicklung vernünftig debuggen kann.

Sobald man etwas am Komponentenquellcode ändert, muss man das dazugehörige Package öffnen, compilieren wieder installieren und schließt das Package wieder, oder gibt es da einen eleganteren Weg?

Wäre nett, wenn mir da nochmal jemand sagen könnte, wie man das richtig macht.


Viele Grüße,
Uwe

DeddyH 22. Nov 2009 14:21

Re: Keine eigenen Properties im Objectinspektor
 
Komponente vorerst nicht registrieren, sondern dynamisch erzeugen. Dazu muss sich lediglich die Unit im Suchpfad von Delphi befinden und natürlich in der uses-Klausel eingebunden sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz