Einzelnen Beitrag anzeigen

mdittrich

Registriert seit: 7. Feb 2017
4 Beiträge
 
#4

AW: Komponenten auf einem Register löschen/überprüfen

  Alt 4. Apr 2020, 21:40
Ich habe jetzt folgendes gefunden und auf meine Bedürfnisse angepasst.
Leider bekomme ich in Zeile 10 einen Fehler, sobald es sich um eine Komponente wie TAdvEdit handelt.

Aufbau auf dem Form:
1. TAdvOfficePAge (Wird in der Funktion als wcKomponente übergeben)
2. --> TGridPanel
3. ------> TAdvGroupBox
4. ---------> TAdvConboBox (Hier tritt jetzt der Fehler auf, beim Durchlauf der Schleife.)

01. function Tf_menue.f_FindControls(wcKomponente: TWinControl; cKomponente: TClass; boRecurse: Boolean):boolean;
02. // wcKomponente = die Komponente in der Gesucht werden soll zum Beipsiel p_Einstellungen
03. // cKomponente = Komponente nach der gesucht werden soll
04. // boRecurse = soll auch in den unterkomponenten gesucht werden p_Einstellungen -> p_Panel -> groupbox
05. var
06. ccKomponente: TWinControl;
07. begin
08. for iPuffer := 0 to Pred(wcKomponente.ControlCount) do
09. begin
10. ccKomponente := wcKomponente.Controls[iPuffer] as TWinControl;
11. if ccKomponente is cKomponente then
12. begin
13. (ccKomponente.Controls[iPuffer] as TAdvEdit).Text := '';
14. (ccKomponente.Controls[iPuffer] as TAdvEdit).Color := clWindow;
15. end;
16. if boRecurse and (ccKomponente.ControlCount > 0) then
17. f_FindControls(ccKomponente, cKomponente, boRecurse);
18. end;
19.end;

Was kann ich machen, um diesen Fehler abzufangen und die Edits zu löschen.

Danke

Maik
  Mit Zitat antworten Zitat