AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Auf Komponente in zur Laufzeit festgelegtem Frame zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi Auf Komponente in zur Laufzeit festgelegtem Frame zugreifen

Ein Thema von Mazen · begonnen am 17. Mai 2013 · letzter Beitrag vom 17. Mai 2013
 
Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#1

Delphi Auf Komponente in zur Laufzeit festgelegtem Frame zugreifen

  Alt 17. Mai 2013, 12:54
Hallo Leute,
wahrscheinlich ist der Titel mehr als verwirrend, ich hoffe ich kann mein Anliegen trotzdem möglichst verständlich klar machen.

Ich möchte je nach ausgewähltem Item einer Combobox verscheidene andere Komponenten anzeigen. Wird z.B. Item 1 ausgewählt soll cbMenge und cbGewicht eingeblendet werden. Wird aber Item 2 ausgewählt soll nurnoch cbMenge angzeigt werden.

Das wäre jetzt ein Beispiel mit 2 Möglichen Optionen, aber in meinem Fall sind es mehrere.

Die einfachste Möglichkeit wäre wohl einfach mit der Visible Eigenschaft der jeweiligen Komponente zu arbeiten, aber ich möchte das nachfolgende Komponenten dann "nachrücken" um den freigewordenen Raum zu füllen. Und das kam mir etwas aufwändig vor.

Also habe ich für jedes Item der Combobox ein Frame angelegt mit entsprechenden Komponenten die sichtbar sein sollen.
Wie ich diese Frames einblende weiß ich schon, nur wie kann ich nun auf die in den Frames liegenden Komponenten zugreifen? Es ist ja nicht immer das gleiche Frame eingebunden.

Mein Ansatz sah so aus:
Wenn in der Combobox ein Item ausgewählt wird weise ich einer von mit angelegten Instanz der Klasse TFrame (frameEins) das entsprechende Frame zu.

Delphi-Quellcode:
  if liste = '16006then
  begin
    frameEinst := frm16006;
  end else if liste = '16008then
  begin
    frameEinst := frm16008;
  end;
Und so versuche ich dann auf die Komponenten der Frames zuzugreifen:

Delphi-Quellcode:
parameter[11] := frameEinst.cbMenge.Text;
parameter[12] := frameEinst.cbGewicht.Text;
Nur bekomm ich dann natürlich die Meldung 'Undefinierter Bezeichner 'cbMenge' da diese Komponente zum Entwicklungszeitpunkt ja noch gar nicht in frameEinst ist.

Wie kann ich das lösen?

Gruß,
Matthias
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
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