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 = '16006' then
begin
frameEinst := frm16006;
end else if liste = '16008' then
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