AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Verständnisfrage zu TFrame > fehlendes OnCreate
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage zu TFrame > fehlendes OnCreate

Ein Thema von Pfoto · begonnen am 25. Mär 2009 · letzter Beitrag vom 25. Mär 2009
Antwort Antwort
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#1

Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 08:58
Hallo zusammen,

ich gebrauche nahzu zum ersten mal Frames in denen ich eigene
nicht-visuelle Objekte erstellen muss, und mich stört, dass es
in Frames kein OnCreate-Event gibt.

Wie ich gesehen habe, sind doch TForm und TFrame beide von
TScrollingWinControl abgeleitet.

Gibt es einen nachvollziehbaren Grund, warum OnCreate und
OnDestroy bei TFrame nicht als Events verfügbar sind?
Man hat dies doch sicher ganz bewusst gemacht, oder?

Ich erstelle nun die benötigten Objekte über eine Frame-Methode,
die ich im OnCreate-Teil des Elternobjektes aufrufe. Oder gibt
es da doch noch eine bessere Lösung?


Dank und Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 09:06
Hallo

ich überschreibe den constructor und destructor
Delphi-Quellcode:
constructor Create(AOwner: TComponent); override;
...
und erstelle dort meine Objekte, die der frame benutzt.

Gruß Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 09:24
Hallo Frank,

ich stand da irgendwie auf dem Schlauch und glaubte,
man müsste erst eine eigene Ableitung schreiben, aber
letztendlich kann ich ja den Konstruktor einfach schon
im erstellen TFrame unterbringen.

Das ist schonmal eine sinnvollere Variante als meine
zusätzlichen Methoden. Danke!

Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#4

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 09:40
Zitat von Pfoto:
ich stand da irgendwie auf dem Schlauch und glaubte,
man müsste erst eine eigene Ableitung schreiben, aber
letztendlich kann ich ja den Konstruktor einfach schon
im erstellen TFrame unterbringen.
Ich muss nur ganz kurz klugsch***ern: Deim eigenes Frames ist ja auch schon eine eigene Ableitung von TFrame, in der du dann die Konstruktoren und Destruktoren überschreibst. Insofern hast du selbst also eigentlich ganz richtig gedacht.

Ich mach das übrigens in meinen Frames genauso. Funktioniert wunderbar. Aber warum es das "bequeme" OnCreate nicht gibt, verstehe ich auch nicht... dazu habe ich mich aber vielleicht auch zu wenig mit den Delphi-Quelltexten beschäftigt.

Bis denn
Bommel
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 10:02
Hallo Bommel,


Oops... man ist das peinlich,
da stand ich wohl auf mehreren Schäuchen....

Danke für den Hinweis!

Gruß
Jürgen
Jürgen Höfs
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 10:27
Zitat von Pfoto:
Hallo zusammen,

ich gebrauche nahzu zum ersten mal Frames in denen ich eigene
nicht-visuelle Objekte erstellen muss, und mich stört, dass es
in Frames kein OnCreate-Event gibt.
n
nur nicht-visuelle Objekte ?
Dann wäre ein Datenmodul besser.
Frames verhalten sich an einigen Stellen sehr spröde.
Ich habe sie deswegen wieder abgeschaft und verwende ein normales TForm.
Setze ich den Parent des TForm auf z.B. einen Panel oder Tabsheet, dann verhält es
sich (fast) wie ein Frame.

Gruß
Peter
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 10:56
Hallo,

als Alternative gäbe es noch die virtuelle Methode Delphi-Referenz durchsuchenAfterConstruction. Sie wird lauf Hilfe automatisch aufgerufen, nachdem der letzte Konstruktor des Objekts ausgeführt wurde. Das Objekt ist zu diesem Zeitpunkt also - aus Sicht des Systems - vollständig initialisiert.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Verständnisfrage zu TFrame > fehlendes OnCreate

  Alt 25. Mär 2009, 11:20
@Peter:
in dem Frame sind schon noch visuelle Elemente, so dass
ein Datencontainer nichts nützen würde.

Ich habe sonst die Frames bzw. Forms ohne Windows-Style
zur Laufzeit erstellt. In diesem Projekt wollte ich einfach
mal in den "Genuss" von zur Designzeit angezeigten Frames
kommen.

@Hawkeye:
das ist zumindest interessant zu wissen, aber in der Praxis
würde ich doch keinen Vorteil erhalten, ob ich nun Create
überschreibe oder AfterConstruction, wenn ich das richt sehe.

Ich dachte halt, es gäbe auch einen nachvollziehbaren Grund,
warum OnCreate und onDestroy als Event nicht published sind.

Gruß
Jürgen
Jürgen Höfs
  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 22:18 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