Ich habe folgenden Test gemacht. Habe zwei Panels welche übereinander liegen. Label1 liegt auf dem Obersten Panel (Panel2). Jetzt erzeuge ich auf Panel2 nochmals ein label mit dem selben namen. Die Funktion FindComponent findet Label1 nicht.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 =
class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
lLabel : TLabel;
lComponent : TComponent;
begin
lComponent := Panel2.FindComponent('
Label1');
if(lComponent =
nil)
then
Begin
lLabel := TLabel.Create(Panel2);
lLabel.Parent := Panel2;
lLabel.Visible := True;
lLabel.
Name := '
Label1';
End;
end;
end.