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.