AGB  ·  Datenschutz  ·  Impressum  







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

Formularvererbung aktualisieren

Ein Thema von BelugaBlue · begonnen am 18. Mär 2008 · letzter Beitrag vom 18. Mär 2008
Antwort Antwort
Seite 1 von 2  1 2      
BelugaBlue

Registriert seit: 20. Aug 2007
18 Beiträge
 
#1

Formularvererbung aktualisieren

  Alt 18. Mär 2008, 09:24
Gibt es einen "Trick", die Formularvererbung automatisch aktualisieren zu lassen.
Ich bin momentan davon genervt, dass in vererbten Formularen erst die Text-DFM Ansicht (+Speichern) gewählt werden muss, damit das entsprechende Formular "von alleine merkt", dass sich in dem übergeordneten Formular etwas geändert hat.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 10:40
Konkretisiere das mal bitte.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 10:49
Er hat ein Formular das nicht von TForm direkt abgeleitet ist sondern einem Nachfahren (nachfolgend TFormBase genannt). Ändert er jetzt TFormBase sieht er die Änderungen an TForm1 (welches von TFormBase abgeleitet ist) erst wenn er bei TForm1 die DFM-Datei in der Textansicht angeschaut und gespeichert hat. Er will wissen wie er die aktuallisierung anderweitig automatisieren kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 10:59
Glaube ich eben nicht. Vermutlich wurden nur Änderungen an der PAS gemacht und das geht eben so nicht. TForm <> "normale" Komponente.
Gruß
Hansa
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 13:44
Zitat von Hansa:
Glaube ich eben nicht.
Schön, aber wieso nicht? Das vom Fragesteller und SirThornberry beschriebene Verhalten ist wirklich so und es ist ein definitves Manko der IDE's. Von daher: wie kommst du zu der Annahme, dass dieses beschriebene Verhalten nicht das eigentliche Problem des Fragestellers ist?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 16:37
Warum ? Weil :
  • Spekulation bzw. lediglich Antwortversuch
  • keine Antwort vom Fragesteller kommt
  • nicht reproduzierbar

TForm kann nicht einfach so vererbt werden, wie ein TLabel. Da spielt nämlich die DFM eine gewichtige Rolle und die ist nur für Forms. Deshalb die unbeantwortete Frage nach PAS.
Gruß
Hansa
  Mit Zitat antworten Zitat
BelugaBlue

Registriert seit: 20. Aug 2007
18 Beiträge
 
#7

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 16:40
Nein es wurden keine Änderungen an der pas gemacht.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 16:48
Wie hast du dann das Basisformular geändert?
Markus Kinzler
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#9

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 17:07
Die Fälle, bei denen eine Formularvererbung einen wirklichen Nutzen bringt sind eher gering.
Allerdings hat Borland durch seine Objektablage jedem Programmierer den Floh ins Gehirn gesetzt, dass Formularvererbung in gute Sache wäre.
Im Prinzip hat jedes Formular seinen ganz bestimmten Zweck, Ähnlichkeiten oder Wiederverwendbarkeit sind eher gering.

Um einem Programm ein einheitliches Look & Feel zu geben, gibt es auch andere Möglichkeiten:
1.) Frames
2.) Factory-Pattern
Ich verwende z.B. ein NavigatorFrame: das ist ein Panel mit einem DbNavigator und einem Schliesen-Button drauf für viele Formulare, die mit Datasets arbeiten.
Mit dem Factory-Pattern kann man z.B. erreichen, dass jedes Formular noch ein zusätzliches Systemmenu bekommt oder man kann jedem Formular zur Laufzeit ein Icon verpassen, oder ......
Leider hat es Borland versäumt, spezielle Events dafür vorzusehen.
Es wäre wirklich angenehm, wenn die Klasse TApplication ein Event "OnNewForm" hätte.
Dann könnte man hier einen Event-Handler einklinken, der zur Laufzeit für jedes Formular gleich bestimmte Aktionen vornimmt (z.B. Font setzen)
Wenn sich in dieser Richtung weiterbilden möchte: das Stichwort lautet Bei Google suchenaspektorientierte Programmierung

Also ich verwende vererbte Formulare nicht. Auch vererbte Frames machen häufig nur Schwierigkeiten.
Andreas
  Mit Zitat antworten Zitat
BelugaBlue

Registriert seit: 20. Aug 2007
18 Beiträge
 
#10

Re: Formularvererbung aktualisieren

  Alt 18. Mär 2008, 17:09
Anbei eine kleine Demo.

Nachtrag. Natürlich finden auch Änderungen an der pas Datei statt. beispielsweise Namensänderungen.

Die Demo zeigt, wie abgeleitete Formulare nicht automatisch auf beispielsweise Namensänderungen an Komponenten reagieren.

Ein anderes Beispiel ist das Label in der Demo. Im abgeleiteten Formular wurden auf dfm-basis Änderung am Font u.a. forgenommen.
Bei Löschung des Labels "befindet" sich dieses immer noch im abgeleiteten Formular.

Es wäre schön wenn es einen Typ gäbe, wie Änderungen am Basisformular automatisch an vererbte Formulare weitergegeben werden können.

Ich hoffe die Demo ist verständlich.
Angehängte Dateien
Dateityp: rar formularvererbung_616.rar (4,4 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 13:56 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