Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi FindComponent (https://www.delphipraxis.net/119175-findcomponent.html)

rich123 21. Aug 2008 14:22


FindComponent
 
Hallo zusammen,

Wenn ich eine Komponente auf der gleichen Form liegt benutze ich

Delphi-Quellcode:
TEdit(FindComponent('Edit'+IntToStr(varzaehler))).Text := 'muh';
Wenn die Komponente aber auf einer anderen Form liegt, habe ich ein Problem:

Delphi-Quellcode:
TEdit(FindComponent('Form2.Edit'+IntToStr(varzaehler))).Text := 'muh';
funktioniert leider nicht.

Wie muss ich das machen?

Danke

Fussball-Robby 21. Aug 2008 14:27

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';

rich123 21. Aug 2008 14:28

Re: FindComponent
 
jup, funktioniert, danke

mkinzler 21. Aug 2008 14:30

Re: FindComponent
 
Aber besser Softcast verwenden:
Delphi-Quellcode:
(Form2.FindComponent('Edit'+IntToStr(varzaehler)) as TEdit).Text := 'muh';

taaktaak 21. Aug 2008 14:36

Re: FindComponent
 
Warum besser Softcast? Hab' mir die andere Form angewöhnt, weil kürzer. Ist das gefahrgeneigt?

mkinzler 21. Aug 2008 14:54

Re: FindComponent
 
Da da er ungeprüft auf den Speicherbereich zugreift und nicht geprüft wird, ob der Typ stimmt.

taaktaak 21. Aug 2008 15:22

Re: FindComponent
 
Na, dann sollte man diese Möglichkeit tatsächlich sehr zurückhaltend verwenden!
Danke!

Apollonius 21. Aug 2008 17:45

Re: FindComponent
 
Allerdings würde ich davon ausgehen, dass eine Komponente, deren Name mit 'Edit' beginnt, auch ein TEdit ist.

mkinzler 21. Aug 2008 18:03

Re: FindComponent
 
Ich würde von Nichts ausgehen...

FAlter 21. Aug 2008 18:46

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz