Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   LAbel im Form zur Laufzeit generieren... (https://www.delphipraxis.net/188876-label-im-form-zur-laufzeit-generieren.html)

wschrabi 15. Apr 2016 13:19

LAbel im Form zur Laufzeit generieren...
 
Hallo,
für Firemonkey möchte ich 165 Lables auf meinem FOrm zur Laufzeit generieren.
Doch es klappt einfach nicht. die labels werden nicht angezeigt.
Wer weiß Rat?

Delphi-Quellcode:
unit Unit1N;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
   procedure DisplayMyMPLabels(index: integer;name:string;value:real);
   
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  MPLAbel: Array[1..15] of Tlabel;
  MPLAbelV: Array[1..15] of Tlabel;

implementation

{$R *.fmx}

procedure Tform1.DisplayMyMPLabels(index: integer;name:string;value:real);
var
   Xstart, ystart, yinc: integer;
begin
   //MPLabel[index]:=TLAbel.create(Self);
   MPLabel[index].Position.X:=336;
   MPLabel[index].Position.y:=144+(index-1)*24;
   MPLabel[index].height:=23;
   //MPLabel[index].size.height:=23;
   MPLabel[index].font.size:=10;
   //MPLabel[index].size.width:=250;
   //MPLabelV[index]:=TLAbel.create(Self);
   MPLabelV[index].Position.X:=336+250;
   MPLabelV[index].Position.y:=144+(index-1)*24;
   MPLabelV[index].height:=23;
   //MPLabelV[index].size.height:=23;
   MPLabelV[index].font.size:=10;
   //MPLabelV[index].size.width:=50;
                         
   MPLabel[index].Text:=Format('%s',[name]);
   MPLabel[index].visible:=true;
   MPLabelV[index].Text:=Format('%7.2f mm',[value]);
   MPLabelV[index].visible:=true;
   
end;

procedure TForm1.FormActivate(Sender: TObject);
var
   i: integer;
begin
 for i := 1 to 15 do
    DisplaymyMPLabels(i,'NAME ',10.2);

end;

procedure TForm1.FormCreate(Sender: TObject);
var
   i: integer;
begin
 for i := 1 to 15 do
   begin
   MPLabel[i]:=TLabel.Create(Application);
   MPLabelV[i]:=TLabel.Create(Application);
   end;

   
   
end;

end.

Darlo 15. Apr 2016 13:31

AW: LAbel im Form zur Laufzeit generieren...
 
Du setzt nicht den Parent. Soll der Owner wirklich Application sein?

wschrabi 15. Apr 2016 13:31

AW: LAbel im Form zur Laufzeit generieren...
 
Habs schon!
Delphi-Quellcode:
MPLabel[index].Parent:=Form1;
hat gefehlt.

wschrabi 15. Apr 2016 13:32

AW: LAbel im Form zur Laufzeit generieren...
 
Danke Darlo, ja self muss stehn und parent muss man setztn.
:-D

Luckie 15. Apr 2016 14:52

AW: LAbel im Form zur Laufzeit generieren...
 
165 Labels? :shock:

himitsu 15. Apr 2016 15:54

AW: LAbel im Form zur Laufzeit generieren...
 
Ich hab nur 30 gezählt.


Aber warum sind diese Variablen global?


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