AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Dynamische Erzeugung von Tab Pages und Frames - freigeben?
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamische Erzeugung von Tab Pages und Frames - freigeben?

Ein Thema von Vitus · begonnen am 20. Okt 2012 · letzter Beitrag vom 21. Okt 2012
Antwort Antwort
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#1

Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 20. Okt 2012, 03:23
Hallo zusammen,

ich beschaeftige mich derzeit mit der dynamischen Erstellung von Tab Pages (benutze die TAdvOfficePager Komponente von TMS). Um meine main form uebersichtlicher zu halten gliedere ich die Inhalte der einzelnen Seiten in Frames aus und erstelle diese dynamisch. Hier ist die entsprechende Prozedur:

Code:
procedure TfrmMain.newView(name: string);
var
  i: integer;
  newPage: TAdvOfficePage;
  newMap: TfraMap;
begin
  i := pagerMain.AdvPageCount;

  // creation of the new tab page:
  newPage := TAdvOfficePage.Create(pagerMain);
  newPage.Parent := pagerMain;
  newPage.Caption := name;
  newPage.ImageIndex := 4;

  // creation of the new frame:
  newMap := TfraMap.Create(newPage);
  newMap.Parent := newPage;
  newMap.Align := alClient;
  newMap.Show;

  pagerMain.AddAdvPage(newPage);
  pagerMain.ActivePageIndex := i;
end;
Meine Frage ist nun was passiert wenn diese dynamisch erzeugte Seite waehrend der Laufzeit wieder geschlossen wird. Wird damit automatisch auch das dynamisch erzeugt frame geloescht oder muss ich mich da manuell drum kuemmern?

Beste Gruesse aus Neuseeland,
Vitus
Gott segne diese Heiden! [Homer J. Simpson]
  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: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 20. Okt 2012, 05:00
Da du dem Frame als Owner (Eigentümer, verantwortlich für die Komponente) die Seite mitgibst reicht es die Seite freizugeben.
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
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 20. Okt 2012, 07:19
Um meine main form uebersichtlicher zu halten gliedere ich die Inhalte der einzelnen Seiten in Frames aus und erstelle diese dynamisch.
Ist das nicht etwas zu viel des Guten? "Dynamisch" per Code zu erstellen ist eigentlich 'ne schlechte Idee, da der Verwaltungsaufwand ja exponentiell mit jeder neuen Control steigt. Sei es Wartung, Erweiterung, Änderung, Pflege, ... ... Ich hab das früher ein Mal gemacht, nie wieder ...
  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: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 20. Okt 2012, 07:26
Um meine main form uebersichtlicher zu halten gliedere ich die Inhalte der einzelnen Seiten in Frames aus und erstelle diese dynamisch.
Ist das nicht etwas zu viel des Guten? "Dynamisch" per Code zu erstellen ist eigentlich 'ne schlechte Idee, da der Verwaltungsaufwand ja exponentiell mit jeder neuen Control steigt. Sei es Wartung, Erweiterung, Änderung, Pflege, ... ... Ich hab das früher ein Mal gemacht, nie wieder ...
Wieso sollte es das? Ein passendes Grundgerüst und gut. Allerdings würde ich das Frame anfordern und nicht selber erstellen lassen

TFrameFactory.GetNamedFrame( 'Editor' ); Die Erweiterung betrifft dann die Factory und nicht die Mainform.
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
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 21. Okt 2012, 12:42
Willst du damit sagen du bevorzugst das Erstellen und Verwalten aller auf einer Form befindlichen Controls per Code, statt der IDE?
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 21. Okt 2012, 14:59
Weder der Threadersteller noch Sir Rufo haben das behauptet.
  Mit Zitat antworten Zitat
nuclearping

Registriert seit: 7. Jun 2008
708 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 21. Okt 2012, 16:17
Stimmt. Hab den Code oben nur überflogen. Beim zweiten Blick sehe ich jetzt auch, dass er nur die Page und einen bereitgestellten Frame erzeugt. Sah auf den ersten Blick halt aus, als ob er die ganzen Controls per Code erstellen wöllte.
  Mit Zitat antworten Zitat
Vitus

Registriert seit: 24. Apr 2003
Ort: Auckland, Neuseeland
38 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 21. Okt 2012, 22:28
Guten Morgen,

vielen Dank fuer die Antworten! Klasse dass Delphi auch dynamisch erzeugte Frames automatisch loeschen kann ich hatte schon befuerchtet dafuer einen Frame-Manager schreiben zu muessen. brrrrrrrr...

@nuclearping: oh entschuldige dass ich nicht deutlich genug war. In der Tat werden nur die Frames mit jedem neuen Tab zur Laufzeit erzeugt! Ich moechte auf die IDE zur GUI Erstellung echt nicht verzichten muessen

Beste Gruesse,
Vitus
Gott segne diese Heiden! [Homer J. Simpson]
  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
 
#9

AW: Dynamische Erzeugung von Tab Pages und Frames - freigeben?

  Alt 21. Okt 2012, 23:13
Das liegt aber nur indirekt an Delphi-Referenz durchsuchenTFrame sondern eher an Delphi-Referenz durchsuchenTComponent, denn davon wurde das irgendwann mal abgeleitet.
Und alles was nach TComponent riecht, kann durch einen optionalen Owner automatisch wieder aus dem Speicher geworfen werden.
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
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 17:20 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