Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   iOS dynamisch erzeugte Labels & TFont (https://www.delphipraxis.net/175612-ios-dynamisch-erzeugte-labels-tfont.html)

Crocotronic 3. Jul 2013 19:27

iOS dynamisch erzeugte Labels & TFont
 
Guten Abend,
bin mal wieder auf ein mysteriöses Problem gestoßen: In meinem Programm erzeuge ich dynamisch eine beliebige Anzahl von Panels, die einige Labels beinhalten. Diese Panels, mit Labels als Childrens, speicher ich dann in eine Objectlist of TPanel. Funktioniert eigentlich ganz gut, wenn da nicht die Labels andauernd willkürliche irgendwelche anderen Schriftarten annehmen würden. Die Panels kommen in eine hotizontale Scrollbar, wo man dann hin -und her wischen kann.
Schaut euch einfach mal an wie ich das Ganze erzeug, vielleicht sieht ja jemand spontan den Fehler:
Delphi-Quellcode:
 Result:= TPanel.Create(nil);
 with Result do
 begin
  Height:= 150;
  Width:= 150;
 end;
 with TImage.Create(Result) do
 begin
  Parent:= Result;
  Height:= 57;
  Width:= 57;
  Position.X:= 88;
  Position.Y:= 88;
  Bitmap:= nil;
 end;
 with TLabel.Create(Result) do
 begin
  Parent:= Result;
  AutoSize:= true;
  Font.SetSettings('Arial Rounded MT Bold',22,[TFontStyle.fsBold]);
  StyledSettings:= [TStyledSetting.ssFontColor];
  Position.X:= 64;
  Position.Y:= 58;
  Text:= 'Test';
 end;
 with TLabel.Create(Result) do
 begin
  Parent:= Result;
  Font.Size:= 14;
  Height:= 21;
  Width:= 73;
  Position.X:= 8;
  Position.Y:= 104;
  Text:= 'Test2'
 end;
Um euch noch komplett zu verwirren: Es kann auch vorkommen, dass ganz andere Labels, die zur designtime erzeugt wurden, andere stile annehmen.

Viele Grüße
Croco

arnof 3. Jul 2013 20:14

AW: iOS dynamisch erzeugte Labels & TFont
 
Hi,

ich habe mal deinen Code mal getestet: geht der so ?

Bei mir geht da garnichts, ich habe folgendes ergänzt, damit da überhaupt was angezeigt wird:

Code:
 Result:= TPanel.Create(self);
 with Result do
 begin
  Height:= 150;
  Width:= 150;
  Parent:=self;
 end;
.....
Dann benutzt Du Schriftarten, die vielleicht auf dem IoS gar nicht zur Verfügung stehen, aber Schriftarten von Windows oder vom Mac (die sieht man auch im Simulator), müssen nicht auf dem Gerät sein.

Wenn es die Schrift nicht gibt und Du weist diese zu, dann kann schon mal Müll herauskommen.

Ich hatte nur mal kurz versucht die Schriften des Gerätes heraus zubekommen, habe aber hierzu erstmal keine Lösung. Diese sind im Gerätedateisystem unter /fonts zu finden.

Crocotronic 3. Jul 2013 20:37

AW: iOS dynamisch erzeugte Labels & TFont
 
Zitat:

Zitat von arnof (Beitrag 1220663)
ich habe mal deinen Code mal getestet: geht der so ?

Ja, der funktioniert. Ich hab das ganze in eine Funktion gepackt mit dem Rückgabetyp TPanel, wahrscheinlich gings deshalb nicht bei dir.


Zitat:

Zitat von arnof (Beitrag 1220663)
Dann benutzt Du Schriftarten, die vielleicht auf dem IoS gar nicht zur Verfügung stehen, aber Schriftarten von Windows oder vom Mac (die sieht man auch im Simulator), müssen nicht auf dem Gerät sein.

Wenn es die Schrift nicht gibt und Du weist diese zu, dann kann schon mal Müll herauskommen.

Ich hatte nur mal kurz versucht die Schriften des Gerätes heraus zubekommen, habe aber hierzu erstmal keine Lösung. Diese sind im Gerätedateisystem unter /fonts zu finden.

http://iosfonts.com Dort kann man sich angucken, welche Schriftarten es gibt.
Die Schriftarten werden ja alle richtig angezeigt, nur nach ein paar mal hin -und her scrollen passiert es manchmal, dass irgend ein Label sich von der Schriftart her ändert (vllt. auch Größe).

arnof 3. Jul 2013 21:45

AW: iOS dynamisch erzeugte Labels & TFont
 
Zitat:

Die Schriftarten werden ja alle richtig angezeigt, nur nach ein paar mal hin -und her scrollen passiert es manchmal, dass irgend ein Label sich von der Schriftart her ändert (vllt. auch Größe).
Scrollen, ja da hatte ich auch schon Begegnungen der unheimlichen Art:

Radioboxen, die auf einmal checked angezeigt werden obwohl Sie es nicht sind.....

siehe hier meinen Beitrag #10

http://www.delphipraxis.net/174521-m...app-store.html

Die Antwort von Herrn Eissing ist hier nicht gerade erbauend :roll:


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