Einzelnen Beitrag anzeigen

BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#21

AW: Objecteigenschaften während der Laufzeit ändern

  Alt 9. Dez 2014, 13:03
Hallo zusammen,

zuersteinmal setzt Du "procedure createExpanderNeu()" als procedure der TForm.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
   ....
   private
    FExpanderArray: array of TExpanderNeu;
    procedure createExpanderNeu(Parameterliste);
   public
Natürlich musst Du nun die Klasse TExpanderNeu vor die Deklaration von TForm1 setzen und die globale Variable ExpanderArray entfernen und durch FExpanderArray ersetzen.

Delphi-Quellcode:
procedure TForm1.createExpanderNeu(AOwner: TFmxObject; labelText : String; posX, posY, hoehe, breite : integer);
var
  liNewIndex: Integer;
begin

  liNewIndex := Length(ExpanderArray);
  SetLength(FExpanderArray, liNewIndex + 1);
  FExpanderArray[liNewIndex ] := TExpanderNeu.Create(AOwner);

  FExpanderArray[liNewIndex ].Parent := FlowLayout2;
  FExpanderArray[liNewIndex ].HitTest := true;
  FExpanderArray[liNewIndex ].Text := labelText;
  FExpanderArray[liNewIndex ].Cursor := crHandPoint;
  FExpanderArray[liNewIndex ].height := hoehe;
  FExpanderArray[liNewIndex ].width := breite;

  createBild(FExpanderArray[liNewIndex]);
end;
Ich habe in den Parametern der Prozedur das "i" herausgenommen, da es nun zu keinen Missverständnissen kommen kann.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat