AGB  ·  Datenschutz  ·  Impressum  







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

[XE5]: Von Form zu Frame

Ein Thema von Kralle · begonnen am 31. Jan 2014 · letzter Beitrag vom 31. Jan 2014
Antwort Antwort
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#1

[XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 17:52
Moin,

da ich jetzt gelernt habe, das ich mein Ziel mit Frames einfacher erreichen kann,
dachte ich mir:"Mach doch einfach auf den einzelnen Formularen Frames."

Also, im Projekt noch ein Frame erzeugt und geschaut wo sind in den Units die Unterschiede.
Die einzigen Unterschiede die ich fand waren:
Delphi-Quellcode:
type
  TMainForm = class(TForm)
wird zu
Delphi-Quellcode:
type
  TMainFrame = class(TFrame)
und die Deklaration
Delphi-Quellcode:
var
  MainForm: TMainForm;
entfällt.

Tja, dachte ich mir:"Das ist ja einfach."
Also, obiges erledigt und das Projekt neu erzeugt.
Tja, soweit war alles gut. Also, das einige Formular aufgerufen und die Komponente "Frames" in der Tool-Palette ausgewählt. Nur leider erkennt diese Komponente mein "neues" Frame nicht.
Okay, also ziehe ich einfach alle Komponenten in das leer Frame.
Aber immer wenn ich auf das "neue" Frame im Designer klicke kommt die Meldung
Zitat:
"Fehler im Modul allgemein: Deklaration der Klasse "TMainForm" fehlt oder ist fehlerhaft."
Also, packe ich die Deklaration wieder rein bis ich die Komponenten kopiert habe, aber nix da, die Meldung bleibt und ich kann die Komponenten nicht kopieren.

An welchen Stellen merkt sich Delphi noch, das es mal ein Formular war und warum bekommt es nicht mit, das es jetzt ein Frame ist.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: [XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 18:42
So einfach geht das nicht.

Eine Form musst du haben, dann das ist die MainForm (nicht nur vom Namen sondern auch von der Funktion her).
Alle anderen Teile können Frames sein. Die verhalten sich prinzipiel so, wie zusammengebaute Komponenten die man aber visuell zusammenklicken kann (wie eine Form).

Einfach nur die Basisklasse von TForm auf TFrame zu ändern bringt aber (wie du bemerkt hast) das System durcheinander, denn hinter einer Form/Frame verbirgt sich noch die .dfm Datei. Und da steht auch noch TForm drin (und evtl. sogar noch Werte zu Eigenschaften, die das Frame nicht kennt)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#3

AW: [XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 20:28
N'abend;

So einfach geht das nicht.
Das habe ich auch gemerkt.

Eine Form musst du haben, dann das ist die MainForm (nicht nur vom Namen sondern auch von der Funktion her).
Schon klar. Das in meinem Fall dort MainForm stand liegt einfach daran, das ich in den anderen Forms schon gelöscht hatte.

Alle anderen Teile können Frames sein. Die verhalten sich prinzipiel so, wie zusammengebaute Komponenten die man aber visuell zusammenklicken kann (wie eine Form).
Habe ich auch verstanden.
Einfach nur die Basisklasse von TForm auf TFrame zu ändern bringt aber (wie du bemerkt hast) das System durcheinander, denn hinter einer Form/Frame verbirgt sich noch die .dfm Datei. Und da steht auch noch TForm drin (und evtl. sogar noch Werte zu Eigenschaften, die das Frame nicht kennt)
Okay, in denen hatte ich jetzt nicht gesucht.
Ich habe mich jetzt für den Weg entschieden, ein TFrame zu erstellen und dann die Komponenten dorthin zu verschieben.

Was leider icht geht, ist dem Frame und/oder dem TabSheet eine eigene Hintergrundfarbe zuzuweisen.
Beide habe keine Eigenschaft "Color". Aber, Hauptsache das Programm macht was es soll.
Vielleicht sollte ich mir mal den Style-Designer anschauen.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: [XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 20:44
Hmmm, und was ist das hier? Delphi-Referenz durchsuchenVcl.Forms.TFrame.Color
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: [XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 21:08
Die Frame hat wahrscheinlich noch ParentColor=True ? Das und/oder ParentBackground oder so ähnlich?
  Mit Zitat antworten Zitat
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
349 Beiträge
 
Delphi XE7 Professional
 
#6

AW: [XE5]: Von Form zu Frame

  Alt 31. Jan 2014, 21:23
Hallo Günther,

Die Frame hat wahrscheinlich noch ParentColor=True ? Das und/oder ParentBackground oder so ähnlich?
genau das war es und deshalb wurde die Eigenschaft "Color" nicht im Objektinspektor angezeigt. Danke.

Gruß Heiko
OS: Linux Mint 20 Cinnamon (64-Bit), Windows 10 Professional, Delphi XE7 Pro SP1 +(Mobilpack & FireDAC), Lazarus 2.1 (Freepascal 3.3.1),
  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 13:16 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