AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zur Laufzeit erzeugte Editierfelder

Offene Frage von "Kurt Wallander"
Ein Thema von Kurt Wallander · begonnen am 23. Apr 2021 · letzter Beitrag vom 29. Apr 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zur Laufzeit erzeugte Editierfelder

  Alt 26. Apr 2021, 18:04
Der Vorteil an Tag oder Dictionary ist, dass man im OnClick/OnMouseMove/sonstwo nicht erst in der Liste/Array suchen muß, da die Komponente (Sender) es einem direkt sagt oder man mit nur einem Zugriff das Dictionary fragen kann.




Wenn die Edits einen passenden Owner im Create mitbekommen, wie z.B. die Form oder ein Panel,
dann werden sie bei Freigabe der Form auch mit automatisch freigegeben.


Und auch wenn es "eigentlich" ein klein bissl "falsches" Verhalten ist (aber die WinAPI macht es mit seinen Komponenten auch so, also wurde es auch in die VCL eingebaut und hat mich schonmal echt erschrocken, weil ich damit nicht gerechnet hab, denn "eigentlich" ist ja der Owner für die Freigabe zuständig)
So gibt die VCL ihre Komponenten auf Forms ebenfalls/zusätzlich über die Parent-Beziehung frei,
also z.B. verschwindet das Edit, wenn man das Panel löscht, auf welcher das Edit angezeigt wird.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Apr 2021 um 18:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Zur Laufzeit erzeugte Editierfelder

  Alt 26. Apr 2021, 18:40
Beim erzeugen Speicher ich mir die Referenz in einer "private" liste ab, beim beenden iterier ich die durch und gebe Speicher wieder frei. Das mit "owner panel" gefällt mir, habe ich noch nicht versucht. Danke für den Tipp!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zur Laufzeit erzeugte Editierfelder

  Alt 26. Apr 2021, 18:46
In dem Panel kannst dann auch mit Panel.FindComponent suchen.

oder for P in Panel do (TComponent hat einen Standard-Enumerator für .Components),
bzw. selbst über die .Components iterieren.


.Controls sind die Parent-Beziehungen
und .Components die Owner-Beziehungen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zur Laufzeit erzeugte Editierfelder

  Alt 27. Apr 2021, 06:57
Nach all den richtigen Hinweisen mal ne dumme Frage:
Zitat:
In meiner geplanten app habe ich Matrizen unterschiedlicher Größe (Rang) zu verarbeiten. Deshalb erzeuge ich die Editierfelder für die Komponenten ABC[i,k] zur Laufzeit durch folgenden Code:
Warum nimmst du eigentlich kein StringGrid? Wäre doch für soche Matrix-Sachen prädestiniert.
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 01:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz