Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Komponente in KomponentenPalette aufnehmen (https://www.delphipraxis.net/57086-eigene-komponente-komponentenpalette-aufnehmen.html)

Glühwürmchen 15. Nov 2005 17:02


Eigene Komponente in KomponentenPalette aufnehmen
 
Für eine umfangreiche Datenbank-Anwendung wurde eine eigene DB-Grid-Komponente gebastelt.
Nennen wir sie mal "TDBEigenbauGrid".

"TDBEigenbauGrid" hat alle Eigenschaften von "TDBGrid" geerbt und noch einige dazu erhalten. Soweit hätte man das auch erwartet. :)

Mein Problem besteht jetzt aber darin, daß die Komponente nur in nicht-visueller Form genutzt wird. - Hm, wie erklär' ich das?
Also: Immer wenn ein Formular, mit den sich darauf befindlichen visuellen Komponenten, dynamsich aufgebaut wird, dann findet auch "TDBEigenbauGrid" Verwendung. (Was auch einwandfrei tut). Jetzt will ich aber an anderen Stellen, da wo das Formular schon zur Entwicklungszeit fertig ist, die verwendete "TDBGrid" durch die eigene "TDBEigenbauGrid" ersetzen.

Und da liegt mein Problem, denn es gibt in der Tool-Palette keine visuelle Komponente für "TDBEigenbauGrid" die ich auf das Formular ziehen könnte. Der Versuch, mir das Formular als Text anzeigen zu lassen und an der entsprechenden Stelle TDBGrid durch "TDBEigenbauGrid" zu erstzen scheiterte ebenfalls.

--> ("object dbgErrorData: TDBGrid" wird zu "object dbgErrorData: TDBEigenbauGrid")


Meine Frage:
Wie weise ich der vorhanden Komponente noch eine visuelle Entsprechung zu?

leddl 15. Nov 2005 17:13

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Damit die Komponente auch in der Komponentenpalette erscheint, benötigst du die Prozedur Register:
Delphi-Quellcode:
Procedure Register;
Begin
  RegisterComponents('MeineKomponenten',[TDBEigenbauGrid]);
End;

Glühwürmchen 15. Nov 2005 17:24

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Danke.

Ähm, wo muß ich diese Procedure hinschreiben?

leddl 15. Nov 2005 17:44

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Na in die Unit deiner abgeleiteten Komponente :zwinker:

Glühwürmchen 16. Nov 2005 10:58

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Ok. Das hat der Schätzer einwandfrei gemacht.

Leider wird meine "TDBEigenbauGrid" aber immer noch nicht in der Komponenten-Palette angezeigt. Was muß ich denn noch machen?

dataspider 16. Nov 2005 11:32

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Hast du ein Package erstellt (Entwurf- und Laufzeit) und installiert?
Frank

Hansa 16. Nov 2005 12:10

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Die Antworten sind etwas zu kurz. Zumindest für einen ohne Plan. :mrgreen: Also :

1. Neu -> weitere -> Package (hier schon auf richtigen Namen achten)
2. Hinzufügen (eigene Unit auswählen)
3. Compilieren
4. Installieren

Zu beachten sind Punkt 3. und 4. Fehler beim Compilieren : klar. 4. Ist die Register-Prozedur vorhanden ist das Teil auch in der Komponentenpalette. Am besten gleich eigenen Reiter in die PageControl-Tabs reinmachen :

Delphi-Quellcode:
procedure Register;
begin
  RegisterComponents('Eigene', [TMyComp1,TMyComp2,TMyComp3]);
end;

Glühwürmchen 16. Nov 2005 14:09

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Vielen Dank für die Ausführliche Antwort, Hansa.

Doch leider scheitere ich bereits an Punkt 1:

Wenn mein Projekt offen ist, in dem ich den Code für die neue Komponente habe dann führt
Neu -> weitere -> Package
zu einer Zugriffsverletzung.

Habe ich hingegen kein Projekt offen und mache
Neu -> weitere -> Package
dann passiert nichts. Gar nichts.

Woran liegt das?

Hansa 16. Nov 2005 15:53

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
Die Komponente hat mit dem Projekt direkt nichts zu tun ! Also 1. alles schließen 2. neu -> weitere aber der Rest steht ja schon alles hier.

Glühwürmchen 17. Nov 2005 08:37

Re: Eigene Komponente in KomponentenPalette aufnehmen
 
:?:
Fühle mich allmählich e weng b'schränkt....

ICH starte D2005 und sehe die WillkomensSeite.
Klicke Datei - Neu - Weitere
dann unter Delphi-Projekte
Package - ok.

Die Reaktion der EntwicklungsUmgebung:
In der Caption steht Package1 - Borland Delphi 2005 - Welcome Page
SONST NICHTS!

Ein Hinzufügen-Button gibt es nicht (jedenfalls nicht da, wo ich suche). Und von wegen
Zitat:

(hier schon auf richtigen Namen achten)
,
ich bekomme gar keine Gelegenheit einen Namen einzugeben...

Bin ich blöd?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Seite 1 von 2  1 2      

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