Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TUPDown Associate Zuweisung (https://www.delphipraxis.net/212217-tupdown-associate-zuweisung.html)

creehawk 6. Jan 2023 09:02

TUPDown Associate Zuweisung
 
Moin Moin!

Ich erzeuge zur Laufzeit verschiedene Elemente auf einem Formular. Beispiel:
Delphi-Quellcode:
     Left := NewImage.Width + NewLabel.Width + 14 ; Top := 32;
     For I := 0 to BuildingsNodesOrg.length-1 do
     begin
      Value := BuildingsNodesOrg.Item[I].attributes[3].Text;
        begin
        NewEdit := TEdit.Create(MainForm.PublicPanel);
        NewEdit.Parent:= MainForm.PublicPanel;
        NewEdit.Text := Value;
        NewEdit.Name := 'PSBValue'+IntToStr(I);
        NewEdit.Left  := Left;
        NewEdit.Top   := Top;
        NewEdit.Width := 50;
        NewEdit.Height := 24;
        NewEdit.Alignment := tacenter;
        NewEdit.Color := clSilver;
        Top := Top + NewEdit.height + 2;;
        end;
     end;
Diesem Editelement soll ein TUpDown zugeordnet werden.
Delphi-Quellcode:
     For I := 0 to BuildingsNodesOrg.length-1 do
     begin
      Value := BuildingsNodesOrg.Item[I].attributes[3].Text;
        begin
        NewUpDown := TUpDown.Create(MainForm.PublicPanel);
        NewUpDown.Parent:= MainForm.PublicPanel;
        NewUpDown.Name := 'PSBUpDown'+IntToStr(I);
        NewUpDown.Left  := Left;
        NewUpDown.Top   := Top;
        NewUpDown.Width := 24;
        NewUpDown.Height := 24;
      // WCTRL als TWinControl deklariert
        WCTRL := TEdit(MainForm.FindComponent('PSBValue' + IntToStr(I)));
        NewUpDown.AlignButton := udRight;
        NewUpDown.Associate := WCTRL;
        Top := Top + NewUpDown.height + 2;
        end;
     end;
Läuft anstandlos durch. Nun sollte dann ja eigentlich beim klicken auf den Updown der Inhalt des assoziierten Editfeldes angepasst werden. Passiert aber nicht.

Was ist nicht richtig?

creehawk

jaenicke 6. Jan 2023 09:20

AW: TUPDown Associate Zuweisung
 
Hast du denn im Debugger geprüft, ob WCTRL ein gültiger Wert zugewiesen wird? ;-)
Vielleicht so?
Delphi-Quellcode:
WCTRL := TEdit(MainForm.PublicPanel.FindComponent('PSBValue' + IntToStr(I)));

creehawk 6. Jan 2023 09:53

AW: TUPDown Associate Zuweisung
 
Yupp, das war es. Dabei steht fastin allen Erklärung zu FindComponent die Parent Geschichte...

Vielen Dank!!

Creehawk

Uwe Raabe 6. Jan 2023 10:34

AW: TUPDown Associate Zuweisung
 
Zitat:

Zitat von creehawk (Beitrag 1517084)
Yupp, das war es. Dabei steht fastin allen Erklärung zu FindComponent die Parent Geschichte...

Genau genommen ist es die Owner Geschichte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:38 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