Announcement

Collapse
No announcement yet.

Wie füge ich dynamisch (während Programmablauf) neue Objekte ins Formular

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie füge ich dynamisch (während Programmablauf) neue Objekte ins Formular

    Anfänger braucht hilfe.
    Kann ich während dem Programmablauf neue Objekte (TMemo's) kreieren?
    Wie erstelle ich diese und wie greife ich darauf zu?
    Wenn möglich mit einem kleinen Beispielcode, danke.

  • #2
    Element als Member des Formulars definieren:<br>
    (z.B. im private-Abschnitt des Formulars)

    private
    MyMemo: TMemo;

    Erstellen und auf Formular bringen in Funktion des Formulars bzw.
    in Eventhandler:

    MyMemo := TMemo.Create(self);
    MyMemo.Parent := self;
    MyMemo.Left := <Position>
    MyMemo.Top := <Position>

    Aufräumen nicht vergessen!!!
    Eigene Objekte sollte man wieder selbst aufräumen. z.B. im Eventhandler für OnClose:

    MyMemo.Free;

    Ich hoffe das hilft fürs erst

    Comment


    • #3
      Danke, das erstellen (und auch das freigeben) während dem Programmablauf funktioniert.<br>
      <br>
      Jetzt habe ich aber ein anderes Problem:<br>
      Ich weiß zum voraus nicht, wieviele Memofelder ich während dem Programmablauf erstellen muss. (Der anwender sollte in verschiedenen Formularen immer neue Memofelder kreieren können. Wenn ich nun zum voraus schon Platz für eine Variable
      array[1..x] of TMemo kreieren muss muss ich auch gleich das Maximum bestimmen das ich zum voraus nicht weiß, da ich kein
      array of TMemo (ohne Min..Max-Angabe) deklarieren kann.<br>
      gibt es keine variablen arrays die dynamisch vergrössert (und verkleinert) werden können? Sonst muss ich für jede Kategorie eine
      sehr grosse Anzahl von Variablen bereitstellen, von denen ich anschließend doch nicht weiß, ob sie ausrechen oder ob sie jemals
      einmal ausgenutzt werden

      Comment


      • #4
        Hallo Thomas,

        schaue Dir am besten einmal die Seiten zu <b>TList</b> und <b>TStringList.Objects</b> in der Delphi-Hilfe an. Hier sollte das zu finden sein, was Du suchst

        Comment

        Working...
        X