Autor Beitrag
[TP]Hawk274
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: So 08.12.02 02:24 
Ich wollte zur Laufzeit ein Label erstellen nachdem ich auf button geklickt habe und das mache ich folgendermaßen:
ausblenden Quelltext
1:
lSaveError := TLabel.Create(self);					

lSaveError, vom Typ TLabel, wird in der Variablendeklaration vom Form deklariert.
Danach mache ich folgendes:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
  lSaveError.Name := 'lSaveError';
  with lSaveError do
  begin
    Font.Name := 'Tahoma';
    Font.Color := clRed;
    Font.Style := [fsBold];
    Height := 13;
    Top := 250;
    Left := 16;
    Width := 100;
    Visible := TRUE;
    Enabled := TRUE;
    Caption := 'LALALA';
  end;


Aber es funktioniert nicht. Ich sehe es nicht!? Kann mir mal jemand erklären was ich falsche mache?
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: So 08.12.02 02:46 
Nun, Du solltest dem Label auch noch ein Parent geben, damit es weis wo es erscheinen soll. (Form, Panel, ....)
Willst Du es direkt auf der Form genügt ein Parent := Self; (wobei Self die Form ist, nicht das Label)

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
[TP]Hawk274 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: So 08.12.02 02:53 
Da war er mein AHA Effekt. thx

Wie kann ich eigentlich heraus finden ob dieses Objekt bereits existiert?
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: So 08.12.02 20:23 
Titel: Prüfen, ob Komponente existiert
Es gibt dafür 2 Wege:

1. Assigned(TComponent)
ausblenden Quelltext
1:
2:
3:
4:
  IF Assigned(lSaveError) then
    ShowMessage('Label existiert.')
  else
    ShowMessage('Label existiert nicht.');


2. FindComponent(TComponent.Name)
ausblenden Quelltext
1:
2:
3:
4:
  IF FindComponent('lSaveError') <> nil then
    ShowMessage('Label existiert.')
  else
    ShowMessage('Label existiert nicht.');


Wobei ich oben gesehen hab, daß Du der Komponente keinen Namen zugewiesen hast. Mach am besten noch ein lSaveError.Name := 'lSaveError';
Klar greifst Du über die Objektvariable lSaveError auf das Label zu, aber die Eigenschaft Name des Objekts solltest Du auch noch setzen, da gerade FindComponent den Inhalt der Name-Eigenschaft auswertet und .Name auch sonst eine gewisse Referenz darstellt.

_________________
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."