Einzelnen Beitrag anzeigen

Ares

Registriert seit: 5. Dez 2002
269 Beiträge
 
#1

Form.FindChildControl('ControlName') findet TLabel nicht

  Alt 13. Nov 2007, 16:51
Hallo!

Ich habe auf einem Form mehrere Buttons und Labels, deren Caption ich mit folgender Methode ändern:

Delphi-Quellcode:
    procedure SetControlCaption(ControlName, Caption: String);
    begin
      control := MainForm.FindChildControl(ControlName);
      if ((control<>nil) and (control is TLabel)) then
        TLabel(control).Caption := Caption;
      if ((control<>nil) and (control is TButton)) then
        TButton(control).Caption := Caption;
    end;
Ein Aufruf von SetControlCaption('MeinButton', 'Test') ändern nun problemlos die Caption des Buttons "MeinButton" auf "Test". Wenn ich das Gleiche mit einerm Label "MeinLabel" versuche, passiert aber nichts, weil FindChildControl(ControlName) nur nil zurückliefert.

Wenn ich einen Button mit dem Namen "MeinLabel" erstelle, wird dieser prima gefunden und die Caption geändert. Am Namen der Control liegt es also nicht. Warum findet FindChildControl(ControlName) also keine TLabel?

Besten Dank
Ares
  Mit Zitat antworten Zitat