Einzelnen Beitrag anzeigen

TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.875 Beiträge
 
Delphi 12 Athens
 
#4

Re: Componentenart als String -> erstellen der Componente

  Alt 7. Mär 2008, 08:39
Moin,
Jeder Nachfahre von TObject hat eine Methode ClassNameIs, die Du zu dieser Prüfung nutzen kannst.
Noch eine Anmerkung zu Deinem Quelltext: Du referenzierst hier in einer Methode eine Instanz des Methodeneigners. Dadurch ist es nicht mehr möglich, eine weitere Instanz zu erstellen, die wie gewünscht arbeitet.
Außerdem ist an dieser Stelle die Zuweisung zu einer lokalen Variablen überflüssig.
Delphi-Quellcode:
procedure TForm1.CB_Item_ArtChange(Sender: TObject);
var
  I: Integer;
  StrList: TStringList;
  // Form: TForm; ueberfluessig
begin
  //Form := Form1;
  StrList := TStringList.Create();
  For I := 0 to {Form.}ComponentCount - 1 do
  begin
    if Components[I].ClassNameIs (CB_Item_Art.Text) then
    begin
      StrList.add({Form.}Components[I].Name);
    end;
  end;
  CB_Item.Clear;
  CB_Item := StrList; // das funktioniert nicht

end;
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat