chaoslion - Mo 12.12.05 18:35
Titel: prozedure die ein zb ein label ändert
Hallo
wie kann ich durch erstellung einer Prozedure
die caption von zb einem label ändern?
Delphi-Quelltext
1: 2: 3: 4:
| procedure name(str:string); begin label1.caption:=str; end; |
erstmal ist es ok wenn nur vom label1 der titel geändert wird.
aber delphi bringt einen fehler:
Undeclared identifier: 'label1'.
jedoch wenn ich zb eine buttonclick prozedur hab geht es,warum dann nicht auch
bei meiner selbsterstellten?
Moderiert von
raziel: Delphi-Tags hinzugefügt.
Narses - Mo 12.12.05 20:12
Moin und :welcome: im Forum!
Weil in dem aktuellen Kontext der Prozedur Label1 nicht bekannt ist. Drei Lösungen:
a) Die Prozedur als Methode der Formularklasse deklarieren (-> deshalb geht das dann bei den ButtonClick-Ereignissen, weil die zur Formularklasse gehören (
TForm1.Button...))
b) Du stellst in der Prozedur den Bezug zur Formularklasse her:
Form1.Label1.Caption :=...
c) Du gibst der Prozedur das Control einfach mit:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure Name(S: String; MyLabel: TLabel); begin MyLabel.Caption := S; end;
Name('Hallo',Label1);
Name('Hallo',Form1.Label1); |
cu
Narses