Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Neuen Beitrag zur Code-Library hinzufügen (https://www.delphipraxis.net/33-neuen-beitrag-zur-code-library-hinzufuegen/)
-   -   Delphi Komponent wird nicht in der Tool-Palette angezeigt! (https://www.delphipraxis.net/194780-komponent-wird-nicht-der-tool-palette-angezeigt.html)

W4lt3r 4. Jan 2018 10:24

Komponent wird nicht in der Tool-Palette angezeigt!
 
Ich Programmiere seit knapp einem halbem Jahr und steck noch in der Übungsphase. Meine Heutige Übung war es eine Komponete abzuleiten und neue Funktionen ihr hinzuzufügen.
In dem Fall war es einmal einen Link zu öffnen beim an Klicken und wenn sich die Maus über das Objekt(in dem Fall ein Label) bewegt in eine Beliebige Farbe überzugehen.
Ich habe es soweit gebracht wie mein Wissen reichte und wollte nun die Komponente testen. Doch als ich die Komponente in ein Package legte und es Installierte wird mir meine Komponente nicht angezeigt. Ich hab es wieder und wieder mit installieren und rum probieren versucht doch habe keine Lösung für mein Problem gefunden.
Ich habe mich im Forum schon nach ähnlichen Fällen gesucht, allerdings war das nicht zufrieden stellend warum ich mich jetzt selbst an diese Community Wende.

Delphi-Quellcode:
unit FarbLabel;

interface

uses
  Vcl.Dialogs, Vcl.Graphics, Winapi.Windows, Winapi.ShellApi, System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Controls.Presentation, FMX.StdCtrls;

type
  TFarbL = class(TLabel)
  private
    FFarbe: TColor;
    FLink: string;
    { Private-Deklarationen }
  protected
    procedure Click; override;
    procedure DoMouseEnter; override;
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    property Farbe: TColor read FFarbe write FFarbe;
    property Link: string read FLink write FLink;
    property OnClick;
    property OnMouseEnter;
    { Published-Deklarationen }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TFarbL]);
end;

procedure TFarbL.Click;
var Buffer,LinkW: PWideChar;
begin
  ShowMessage('before');
 inherited;
  Buffer:= '';
  LinkW:=StringToWideChar(Link,Buffer,250);
  ShellExecute(0, 'open', LinkW, nil, nil, SW_SHOWNORMAL);
end;

procedure TFarbL.DoMouseEnter;
begin
 ShowMessage('before');
 inherited;
 Self.FontColor:= Farbe;
end;
end.
Bitte last euch nicht so sehr über meinen Code aus und schon mal danke im voraus für eure Hilfe.

P.S.Ich weiß das LinkLabel dem sehr ähnlich ist allerdings ist dies auch nur als Übung zum Thema Komponenten gedacht.

Ghostwalker 4. Jan 2018 11:09

AW: Komponent wird nicht in der Tool-Palette angezeigt!
 
Hm...erster Gedanke:

Evtl. hast du bei den Einstellungen für das Package "Nur Laufzeitpackage" eingestellt ?

Nach dem compilieren immer auch installieren (also das Package). Sollte da ein Problem auftreten, bekommst du direkt eine Fehlermeldung. :)

W4lt3r 4. Jan 2018 11:52

AW: Komponent wird nicht in der Tool-Palette angezeigt!
 
Erstmal Danke. Dein ersten Vorschlag hatte ich schon überprüft und auch sämtliche Einstellungen für das Package. 2. wusste ich noch nicht aber auch daran liegt es nicht.

Trotzdem Danke.

mkinzler 4. Jan 2018 12:00

AW: Komponent wird nicht in der Tool-Palette angezeigt!
 
Trenn mal Laufzeit und Entwurfzeitcode ( 2 Packages)

W4lt3r 4. Jan 2018 13:54

AW: Komponent wird nicht in der Tool-Palette angezeigt!
 
Danke an alle die mir geholfen haben. Ich habe einen Anfängerfehler gemacht, ich hatte ein Projekt(vlc) und habe dann über die Option Komponente > Neue Komponente in Delphi und dann habe ich den Option fmx Ausgewählt. Dann habe ich die Komponente in das Package getan und in Meinem Projekt installiert. Es zeigte keine Fehlermaldung sondern eine Bestätigung der Installation weswegen ich darüber mir keinen Kopf gemacht habe. Es sieht so aus als hätte das vlc Projekt meine Komponente einfach ignoriert.
Es war ein Anfängerfehler, ich danke euch das ihr mir sofort helfen wolltet.

Grüße aus Sachsen

w4lt3r


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.

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