Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Zugriff auf Property zur Laufzeit (LMDLabel) (https://www.delphipraxis.net/181652-zugriff-auf-property-zur-laufzeit-lmdlabel.html)

rhuber 1. Sep 2014 14:54

Zugriff auf Property zur Laufzeit (LMDLabel)
 
Hallo zusammen
Ich habe gleich noch ein zweites Problem: Ich möchte bei einem Label (LMDLabel) während der Laufzeit eine Eigenschaft ändern, weiss aber nicht wie ich darauf zugreifen kann.

Im Object Inspector unter LMDLABEL wie folgt angezeigt:

-Bevel
-- BorderSides --> [fsBottom,fsLeft,fsRight,fsTop]
--- fsBottom --> jeweils true oder false, muss alle auf false setzen
--- fsLeft
--- fsRight
--- fsTop


TLMDLabel.Bevel.BorderSides := [false,false,false,false];
--> Incompatible types: TLMDFrameSide and Boolean

TLMDLabel.Bevel.BorderSides.fsBottom := False;
--> Record, object or class required

Was mache ich bloss falsch? Finde weder in der Hilfe noch im Internet Informationen zum Typ "TLMDFrameSide"...

Bummi 1. Sep 2014 14:58

AW: Zugriff auf Property zur Laufzeit (LMDLabel)
 
Delphi-Quellcode:
MyLMDLabel.Bevel.BorderSides := [fsBottom,fsLeft,fsRight,fsTop];

DeddyH 1. Sep 2014 14:58

AW: Zugriff auf Property zur Laufzeit (LMDLabel)
 
Auf eine Leermenge setzen sollte doch gehen:
Delphi-Quellcode:
TLMDLabel.Bevel.BorderSides := [];

baumina 1. Sep 2014 15:00

AW: Zugriff auf Property zur Laufzeit (LMDLabel)
 
Delphi-Quellcode:
MyLMDLabel.Bevel.BorderSides := [];

EDIT : wieder mal zu langsam...

rhuber 1. Sep 2014 15:18

AW: Zugriff auf Property zur Laufzeit (LMDLabel)
 
Danke, zwar keine Fehlermeldung, aber auch keine Wirkung.

Allerdings: Es klappt, falls ich das Label zur Designtime bereits erstelle und dann zur Runtime die Property ändere.
Erstelle ich jedoch das Label dynamisch während der Runtime und setzte dann die Property, ändert sich nichts mehr!?!


EDIT:
Jetzt geht's!!! Hatte irgendwo im Code noch die gesamte "Bevel" property übernommen. Ich glaube es ist Zeit meinen Delphipraxis-Account zu löschen und mich unter neuem Namen wieder anzumelden ;-)

Trotzdem noch die Frage: Wieso klappt [], aber nicht [false,true,true,false] etc.?

DeddyH 1. Sep 2014 15:30

AW: Zugriff auf Property zur Laufzeit (LMDLabel)
 
Diese Boolean-Werte dienen nur dazu, Elemente im OI einer Mengeneigenschaft hinzuzufügen oder zu löschen. Deklariert dürfte der entsprechende Datentyp aber so (oder ähnlich) sein:
Delphi-Quellcode:
type
  TBorderSides = set of (fsBottom, fsLeft, fsRight, fsTop);


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