AGB  ·  Datenschutz  ·  Impressum  







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

Frames und Vererbung

Ein Thema von Jens Schumann · begonnen am 14. Dez 2005 · letzter Beitrag vom 20. Jun 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Frames und Vererbung

  Alt 15. Dez 2005, 06:38
Das Problem liegt in den DFM-Dateien.

Für Deine Basisklasse hast Du eine DFM.Datei und für die abgeleitete auch. Das geht nicht. woher soll die klasse wissen, welche DFM sie nehmen soll?

Lösung:

Deine Basisklasse nur von TFrame ableiten. Die Ressource {$R *.dfm} löschen.

In Deiner richtigen Klasse TMyFrame kassnt Du dann die Elemente auf das Frame packen.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#12

Re: Frames und Vererbung

  Alt 15. Dez 2005, 08:07
Zitat von omata:
Hallo Jens,
Also ich habe folgendes gemacht...

1. Projekt geöffnet.
2. Die beiden Fehlermeldungen mit Ignorieren bestätigt
3. Unit3 geöffnet
4. Unit3 aus der linken oberen Ecke ziehen (irgendwo anders hin)
4. Unit1 auch verschieben (minimal, damit Speichern möglich wird)
5. Projekt speichern, Fehlermeldung mit ja bestätigen

fertig.
Ich weiss nicht wie in unit3 oder unit1 verschieben soll. Ich habe die Fehlermeldung ignoriert und ein Leezeichen hinzugefügt damit
ich das Projekt speichern kann. -> Kein Erfolg


Zitat von sh17:
Das Problem liegt in den DFM-Dateien.

Für Deine Basisklasse hast Du eine DFM.Datei und für die abgeleitete auch. Das geht nicht. woher soll die klasse wissen, welche DFM sie nehmen soll?

Lösung:

Deine Basisklasse nur von TFrame ableiten. Die Ressource {$R *.dfm} löschen.

In Deiner richtigen Klasse TMyFrame kassnt Du dann die Elemente auf das Frame packen.
Ich habe die {$R *.dfm} in der unit für die Basisklasse gelöscht. -> Kein Erfolg.

Wie omata schon richtig bemerkt hat sind Frame gerade zu genial um Benutzeroberflächen zu realisieren. Das mache ich auch schon einige Zeit. Jede Oberflächenmaske bekommt Ihren eigenen Frame. Alle Frames haben Gemeinsamkeiten, die ich der Vergangenheit in jedem einzelnen Frame wiederholt habe. Dadurch ist natürlich eine Redundanz entstanden, die schlecht zu warten ist. Jetzt wollte ich mir die Mechanismen der OOP zu nutze machen und eine Basisklasse für die Gemeinsamkeiten verwenden. Leider hat hier D7 (D5 auch) scheinbar einen Bug.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:10
Zitat:
Kein Erfolg.
Was passiert denn da?

In der Basisklasse dürfen dann natürlich keine Controls enthalten sein.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#14

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:20
Zitat von sh17:
Zitat:
Kein Erfolg.
In der Basisklasse dürfen dann natürlich keine Controls enthalten sein.
Hallo ,
in der Basisklasse sind keine Controls enthalten. Ist auch nicht nötig.
Es kommt der gleiche Fehler wie oben beschrieben.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:28
hab noch mal Dein Beispiel beguckt. Das Problem liegt bei der Deklaration in Form1 (Warum genau das so ist, weiß ich auch nicht)

Du musst das Frame in einem eigenen privat-Bereich deklarieren und im Create des Forms von Hand das Frame erzeugen. Dann sollte es gehen.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:33
achso, und in Deinem Beispiel scheinst Du TFrameNachfahre mal aus einem TForm in ein TFrameBase umgewandelt zu haben. Du musst ein neues Frame erstellen und dann die Elternklsase TFrame in TFrameBase abändern

EDIT: damit dürfte sich meiner vorheriger Beitrag erledigt haben
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#17

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:34
Zitat von sh17:
hab noch mal Dein Beispiel beguckt. Das Problem liegt bei der Deklaration in Form1 (Warum genau das so ist, weiß ich auch nicht)

Du musst das Frame in einem eigenen privat-Bereich deklarieren und im Create des Forms von Hand das Frame erzeugen. Dann sollte es gehen.
Hmmm Hmmm Hmmm. Das Beispiel enthält zwar zwei Frames aber keiner von beiden wird verwendet. Trotzdem kommt der Fehler.
Der Fehler kommt wenn ich das Projekt öffne. Nicht wenn ich das Projekt starte!
Könntest Du bitte mein Beispiel so verändern das es funktioniert?
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#18

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:37
Zitat von sh17:
achso, und in Deinem Beispiel scheinst Du TFrameNachfahre mal aus einem TForm in ein TFrameBase umgewandelt zu haben. Du musst ein neues Frame erstellen und dann die Elternklsase TFrame in TFrameBase abändern

EDIT: damit dürfte sich meiner vorheriger Beitrag erledigt haben
Natürlich habe ich nicht aus einem TForm einen TFrame gebastelt. TFrameNachfahre ist von Anfang an ein TFrame gewesen. Wenn ich das Projekt wieder öffne kommt der Fehler, dass die Eigenschaft TabOrder nicht gefunden wird. Wenn ich den Fehler ignoriere sieht TFrameNachfahre im Objektinspektor aus wie ein TForm.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Frames und Vererbung

  Alt 15. Dez 2005, 09:57
hier die Antwort von OLLI_T
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#20

Re: Frames und Vererbung

  Alt 15. Dez 2005, 10:26
Noch ein Gedanke:
Delphi verhaspelt sich bei den Frames, wenn man dem Projekt einen neuen Frame hinzufügt und anschließend die Deklaration so abändert, dass der Frame von einem anderen abgeleitet wird. Wenn man den Baseframe der Objektablage hinzufügt und den Nachfahren dann direkt vom Baseframe erben lässt, klappt es. Der Unterschied liegt in den DFM-Dateien. Diese beginnt bei einem "normalen" Frame mit 'object', bei einem abgeleiteten aber mit 'inherited'.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 16:33 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