![]() |
Visuelle Komponente entwickeln
Hallo, ich bins mal wieder...
Ich habe mir eine Klasse von TPanel abgeleitet, im Constructor ein paar Eingenschaften angepasst und noch ein paar zusätzliche Sachen eingebaut. Soweit so gut. Da ich mit Turbo Explorer unterwegs gewesen bin habe ich mir auch keine Gedanken zu Komponenten gemacht, weil ich die Klasse sowieso aus dem Quelltext erstellt habe und das funktionierte auch mit allen gewünschten Funktionen. Jetzt habe ich Turbo Professional und möchte natürlich daraus eine Komponente entwickeln, um die Programmoberfläche auch schnell und einfach grafisch zur Entwurfszeit erstellen zu können und da fangen die Probleme auch schon an. Wie ich ein Package erstelle und die Komponente installiere, habe ich jetzt schon hingekriegt. Der Einfachheit halber habe ich auch erst mal nur eine Klasse von TPanel abgeleitet und möchte einfach, dass der Rahmen optisch meinen Gegebenheiten entspricht. Ich habe das, wie bisher, in den Constructor geschrieben, aber weder zur Entwurfs- noch zur Laufzeit ändert sich etwas im Vergleich zum eigentlichen TPanel. Jetzt steh ich grad auf dem Schlauch. Wie geht das sinnvoll??
Delphi-Quellcode:
type
TbrosePanel = class(TPanel) private { Private-Deklarationen } protected { Protected-Deklarationen } public { Public-Deklarationen } constructor Create(AOwner: TComponent); Reintroduce; published { Published-Deklarationen } end; procedure Register; implementation uses Forms; procedure Register; begin RegisterComponents('Brose', [TbrosePanel]); end; constructor TbrosePanel.Create(AOwner: TComponent); begin inherited Create(AOwner); BevelInner := bvNone; BevelKind := bkFlat; BevelOuter := bvNone; BorderStyle := bsNone; end; |
Re: Visuelle Komponente entwickeln
Nebenbei:
Zitat:
|
Re: Visuelle Komponente entwickeln
Zitat:
|
Re: Visuelle Komponente entwickeln
Zitat:
(reintroduce ist etwas, was man soo selten nutzen kann, wie kommt man also da drauf, das so zu machen?) |
Re: Visuelle Komponente entwickeln
Ok, bei override, virtual, reintroduce habe ich noch so meine Probleme...
Bei meiner Klassenversion (nicht Komponente) lautete der Konstruktor noch anders, weil ich mit dem Erzeugen der Instanz auch gleich den Parent angeben wollte. Hat so auch funktioniert.
Delphi-Quellcode:
Da hatte ich vorher "reintroduce" weggelassen und bekam dafür zumindest eine Warnung.
constructor Create(AOwner: TComponent, AParent: TControl); Reintroduce;
Vielleicht kann man mir das mal mit verständlichen Worten erklären, wäre schön? Ich bin mit meiner Komponente nun auch auf gutem Wege, so am Rande... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 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