Einzelnen Beitrag anzeigen

W4lt3r

Registriert seit: 4. Jan 2018
Ort: Ottendorf-Okrilla
12 Beiträge
 
#1

Komponent wird nicht in der Tool-Palette angezeigt!

  Alt 4. Jan 2018, 10:24
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.
  Mit Zitat antworten Zitat