AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Objecteigenschaften während der Laufzeit ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Objecteigenschaften während der Laufzeit ändern

Ein Thema von Torwein · begonnen am 8. Dez 2014 · letzter Beitrag vom 10. Dez 2014
Antwort Antwort
Seite 3 von 3     123   
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#21

AW: Objecteigenschaften während der Laufzeit ändern

  Alt 9. Dez 2014, 13:03
Hallo zusammen,

zuersteinmal setzt Du "procedure createExpanderNeu()" als procedure der TForm.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
   ....
   private
    FExpanderArray: array of TExpanderNeu;
    procedure createExpanderNeu(Parameterliste);
   public
Natürlich musst Du nun die Klasse TExpanderNeu vor die Deklaration von TForm1 setzen und die globale Variable ExpanderArray entfernen und durch FExpanderArray ersetzen.

Delphi-Quellcode:
procedure TForm1.createExpanderNeu(AOwner: TFmxObject; labelText : String; posX, posY, hoehe, breite : integer);
var
  liNewIndex: Integer;
begin

  liNewIndex := Length(ExpanderArray);
  SetLength(FExpanderArray, liNewIndex + 1);
  FExpanderArray[liNewIndex ] := TExpanderNeu.Create(AOwner);

  FExpanderArray[liNewIndex ].Parent := FlowLayout2;
  FExpanderArray[liNewIndex ].HitTest := true;
  FExpanderArray[liNewIndex ].Text := labelText;
  FExpanderArray[liNewIndex ].Cursor := crHandPoint;
  FExpanderArray[liNewIndex ].height := hoehe;
  FExpanderArray[liNewIndex ].width := breite;

  createBild(FExpanderArray[liNewIndex]);
end;
Ich habe in den Parametern der Prozedur das "i" herausgenommen, da es nun zu keinen Missverständnissen kommen kann.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Torwein

Registriert seit: 6. Dez 2011
11 Beiträge
 
#22

AW: Objecteigenschaften während der Laufzeit ändern

  Alt 9. Dez 2014, 14:58
Danke für die Info, ich werde das mal testen und berichte ob ich damit klar gekommen bin
  Mit Zitat antworten Zitat
Torwein

Registriert seit: 6. Dez 2011
11 Beiträge
 
#23

AW: Objecteigenschaften während der Laufzeit ändern

  Alt 10. Dez 2014, 13:14
Hallo zusammen,

ich hätte hier noch eine Frage. Wie ist das gemeint "die globale Variable ExpanderArray entfernen und durch FExpanderArray ersetzen."?

Das habe ich nicht verstanden.
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#24

AW: Objecteigenschaften während der Laufzeit ändern

  Alt 10. Dez 2014, 13:41
Hallo zusammen,

Wie ist das gemeint "die globale Variable ExpanderArray entfernen und durch FExpanderArray ersetzen."?
Delphi-Quellcode:
var
  Form1: TForm1;
  y, i,j,x,test: integer;
  progPfad,datei2 : string;
  ExpanderArray: array of TExpanderNeu;

implementation

{$R *.fmx}
Die hier deklarierten Variabeln sind "globale Variabeln", welche in jedem Fenster einer Anwendung bzw. in der gesamten Anwendung gültig sind.

Dort gehört aber nur das hin, was undedingt auch wirklich sein muss.
Also raus mit "y", "i","j","x","test", "progPfad","datei2" und "ExpanderArray".

Statt dessen entfernst Du diese globale Deklarationen und setzt sie in die Typ-Deklaration in der Form. Dann ist die Variable weiterhin in jeder Instanz der Form gültig, aber kann nicht durch eine weitere Instanz des Fensters oder von irgendetwas, was den gleichen globalen Variabelnamen benutzt, überschrieben werden.

Du weisst ja nicht, ob eine Komponente zufällig eine globale Variable mit diesem Namen auch anspricht.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 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