AGB  ·  Datenschutz  ·  Impressum  







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

UI Nachrichtenverarbeitung in mehreren Units/Klassen

Ein Thema von optiman · begonnen am 13. Apr 2016 · letzter Beitrag vom 14. Apr 2016
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 07:43
Eine Sache solltest du noch wissen:

So unverzichtbar Frames oft sind, das doofe Edit1Change=nil zeigt einen riesigen Haken: Der Frame-Inhalt wird auf seinem Container (wie einem Formular oder wieder einem Frame) redundant gespeichert. Das führt nicht nur zu solchen Problemen wie du es gerade hattest, sondern auch anderen.

Wenn du beispielsweise eine ImageList oder einen Button mit einem Glyph auf einem Frame hast, dann findet sich der Inhalt noch ein zweites mal auf dem Formular wieder. Völlig unsinnig. Ich bin unzählige male am Tag damit beschäftigt die redundanten Bestandteile in der DFM wieder herauszulöschen
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 08:28
Deshalb habe ich mir mittlerweile angewöhnt Frames dynamisch auf dem Form zu erzeugen.

Sind drei Zeilen im OnCreate des Forms.

Hat auch den Vorteil, daß bei einer Änderung im Frame (Kompenente umbenannt oder gelöscht) keine Fehlermeldung zur Laufzeit erscheint. Denn eigentlich muss man bei einer Änderung des Frames alle Formulare öffnen, bei denen das Frame verwendet wird um diesen blöden Nebeneffekt nicht zu haben.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 08:30
Der Frame-Inhalt wird auf seinem Container (wie einem Formular oder wieder einem Frame) redundant gespeichert.
Aber nur, wenn die Properties sich vom ursprünglichen Frame unterscheiden.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 09:13
So wäre es richtig. Ist es aber leider nicht. Seit ich in Delphi dabei bin, spuckt er redundant alles in seinen Container. Es reicht wohl schon, den Frame nur einen Pixel in der Größe zu ändern und schon denkt er sich wohl "Wow, alles ist anders".

Ich werfe die Frames mittlerweile auch immer seltener direkt zur Designzeit ins Programm sondern erstelle sie auch immer öfter zur Laufzeit. Ist zwar alles nicht mehr sonderlich "RAD" aber man kommt trotzdem schneller voran.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.268 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 09:31
RAD ist mir mittlerweile Wurscht. Ist zwar zuerst einmal schneller. Aber für die Wartung aufwändiger.

Frames und nicht visuelle Komponenten werden bei mir mittlerweile immer dynamisch erzeugt. Warum ein OpenDialog auf das Form ziehen, wenn ich das mit einer zentralen Procedure auch machen kann. Vorallem kann ich der zentralen Procedure etwas ändern, dass dann Programmweit Auswirkung hat.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.012 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: UI Nachrichtenverarbeitung in mehreren Units/Klassen

  Alt 14. Apr 2016, 09:41
How to improve the use of delphi frames
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 11:26 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