![]() |
FindComponent
Hallo zusammen,
Wenn ich eine Komponente auf der gleichen Form liegt benutze ich
Delphi-Quellcode:
Wenn die Komponente aber auf einer anderen Form liegt, habe ich ein Problem:
TEdit(FindComponent('Edit'+IntToStr(varzaehler))).Text := 'muh';
Delphi-Quellcode:
funktioniert leider nicht.
TEdit(FindComponent('Form2.Edit'+IntToStr(varzaehler))).Text := 'muh';
Wie muss ich das machen? Danke |
Re: FindComponent
Ich habe gerade kein Delphi zur Hand, aber es müsste so gehen:
Delphi-Quellcode:
TEdit(Form2.FindComponent('Edit'+IntToStr(varzaehler))).Text := 'muh';
|
Re: FindComponent
jup, funktioniert, danke
|
Re: FindComponent
Aber besser Softcast verwenden:
Delphi-Quellcode:
(Form2.FindComponent('Edit'+IntToStr(varzaehler)) as TEdit).Text := 'muh';
|
Re: FindComponent
Warum besser Softcast? Hab' mir die andere Form angewöhnt, weil kürzer. Ist das gefahrgeneigt?
|
Re: FindComponent
Da da er ungeprüft auf den Speicherbereich zugreift und nicht geprüft wird, ob der Typ stimmt.
|
Re: FindComponent
Na, dann sollte man diese Möglichkeit tatsächlich sehr zurückhaltend verwenden!
Danke! |
Re: FindComponent
Allerdings würde ich davon ausgehen, dass eine Komponente, deren Name mit 'Edit' beginnt, auch ein TEdit ist.
|
Re: FindComponent
Ich würde von Nichts ausgehen...
|
Re: FindComponent
Hi,
es gibt Leute, die benennen ihre Komponenten. Ich zum Beispiel in etwa so: NameEdit, BirthdayEdit --> z. B. Edit, MaskEdit, SpinEdit (letzteres nehm ich aber eigentlich nicht) NamesBox, DoItNowBox, WuppdiBox --> ListBox, GroupCox, CheckBox, ... Wie man sieht, kann man aus dem Namen nicht unbedingt auf die Komponente schließen, aber ich habe keine Lust, in meinem Code "DoItNowCheckBox" auszuschreiben. Das ist mir zu lang. Andererseits sagt mir ein "CheckBox1" im Code rein gar nix. Wasn datt für eine von den 24 CheckBoxen auf dem Form? Mfg FAlter |
Re: FindComponent
Ich möchte hier keine Diskussion vom Zaun brechen, aber normalerweise sind meine Lösungen auf das Formular zugeschnitten. Dann weiß ich, welche Komponenten welche Namen haben.
|
Re: FindComponent
huhu,
wieder frage zur FindComponent... Hier funktioniert .AddXY nicht, warum??
Delphi-Quellcode:
Gruß
(Form6.FindComponent('Series'+IntToStr(i)) as TChart).AddXY(1,1,'',clRed);
|
Re: FindComponent
Was heißt "funktioniert nicht"? Compilerfehler oder tut sich zur Laufzeit nichts?
|
Re: FindComponent
Undefinierter Bezeichner AddXY.
Funktioniert aber ohne FindComponent einwandfrei |
Re: FindComponent
Ich habe hier gerade nur Delphi 5 zur Hand, da hat das TChart keine Methode "AddXY". Daher kann ich das im Moment nicht nachvollziehen.
|
Re: FindComponent
ich habe was gefunden, dass es mit TLineSeries funktionieren sollte aber dann kommt:
Undefinierter Bezeichner : TLineSeries Gruß |
Re: FindComponent
Weiß ich jetzt nicht, aber ein Test mit
Delphi-Quellcode:
war erfolgreich.
(Form1.FindComponent('Chart' + Inttostr(1)) as TChart).AllowZoom := true;
|
Re: FindComponent
jup, aber in welchem Objekt ist dann AddXY?
|
Re: FindComponent
Laut meiner Hilfe in TChartSeries.
|
Re: FindComponent
Super Danke, habs!!
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz