Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zugriff auf dynamische Komponenten (https://www.delphipraxis.net/33412-zugriff-auf-dynamische-komponenten.html)

ibp 6. Nov 2004 15:46


Zugriff auf dynamische Komponenten
 
Hallo,
im programm werden db tabellen dargestellt, die natürlich unterschiedliche felder haben, die mit unterschiedlichen zur laufzeit erzeugften komponenten dargestellt werden z.zt. sind es folgende...
Code:
   Lb:TLabel;          // Label
   edfld:TEdit;        // Edit-Feld
   exfld:TEditOpenEx;  // Start-Feld abgeleitet von TWinControl
   vwfld:TViewer;      // Viewer-Feld abgeleitet von TWinControl
   cbfld:TCheckbox;    // CheckBox-Feld
   dtfld:TDateEdit;    // Datums-Feld RX control
   cufld:TCurrencyEdit; // Zahl-Feld RX control
   mefld:TMemo;        // Memo-Feld
   kbfld:TComboBox;    // KomboBox-Feld
... es können aber noch andere dazukommen...

frage, wie kann ich nun diese günstig ansprechen, ohne findcomponent... , sicherlich mit einem array of ....?
welche übergeordnete klasse würdet ihr empfehlen, ich brauche jedenfalls die visible und tag eigenschaften ..

der-C 6. Nov 2004 16:04

Re: Zugriff auf dynamische Komponenten
 
Delphi-Quellcode:
for i:=0 to form1.Controlcount do
if form1.Controls[i] is TEdit
then
Tedit(form1.Controls[i]).text:='TEXT bla...'
oder
Delphi-Quellcode:
...
if form1.Controls[i].name = 'KomponentenName' then
...

ibp 6. Nov 2004 16:06

Re: Zugriff auf dynamische Komponenten
 
gnau das will ich ja nicht, da ich beim erstellen ja die komponenten kenne... daher ein array, damit ich mittel index direkt darauf zugreifen kann!

der-C 6. Nov 2004 17:10

Re: Zugriff auf dynamische Komponenten
 
vieleicht mit
Delphi-Quellcode:
type
PTWinControl = ^TWinControl;

feld : array [0..10] of PTWinControl;
...
feld[0]:=@edfld;
...

feld[0].visible := false;
feld[0].tag := 1;

ibp 6. Nov 2004 18:34

Re: Zugriff auf dynamische Komponenten
 
ja schon (warum mit pointern?) aber warum twincontrol? und wie siehts mit der weiteren ansprache der komponenten aus? und gibt es noch andere möglichkeiten?

woki 6. Nov 2004 18:41

Re: Zugriff auf dynamische Komponenten
 
z.B. TObjectlist

Das explizite hantieren mit Pointern ist nicht zu empfehlen.

Grüße
Woki

ibp 6. Nov 2004 18:49

Re: Zugriff auf dynamische Komponenten
 
@woki
wie arbeitet man damit?

ibp 7. Nov 2004 16:25

Re: Zugriff auf dynamische Komponenten
 
gibts noch tipps?

fkerber 7. Nov 2004 16:36

Re: Zugriff auf dynamische Komponenten
 
Hi!

Schonmal hier geschaut:
Delphi-Referenz durchsuchenobjectlist?


Ciao Frederic

SirThornberry 7. Nov 2004 16:52

Re: Zugriff auf dynamische Komponenten
 
Zitat:

Zitat von woki
...Das explizite hantieren mit Pointern ist nicht zu empfehlen. ...

Warum?? Wozu sind Pointer sonst da. Eine TList (oder eben Array reicht völlig aus)

@der-C:
Zitat:

PTWinControl = ^TWinControl;
ist überflüssig da TWinControll bereits ein pointer ist.

desweiteren reicht es von TControl abzuleiten, damit kann später auch TImage etc. (eben alles Visuelle) angesprochen werden - Tcontrol besitzt ja bereits die Properties "Visible" und "Tag"


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 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