AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TPageControl und dynamische anzahl TTabsheets

Ein Thema von Illuminator-23-5 · begonnen am 29. Aug 2003 · letzter Beitrag vom 10. Jun 2004
Antwort Antwort
Seite 2 von 3     12 3   
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#11

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 29. Aug 2003, 12:55
Nö, dynamisch heißt halt "Schreibarbeit".
  Mit Zitat antworten Zitat
Adler

Registriert seit: 29. Apr 2003
Ort: Düsseldorf
30 Beiträge
 
Delphi 2006 Professional
 
#12

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 29. Aug 2003, 13:12
Zitat von Tpercon:
Nö, dynamisch heißt halt "Schreibarbeit".
Das ist so nicht ganz richtig. Am einfachsten wird es sein wenn du dir eine neue Komponente schreibst und zwar vom Typ TTabSheet.

TMeinTabSheet = class(TTabSheet) in diese Komponente fügst du alle Button usw. ein die du benötigst. Anschließend must du deiner Pagecontrol nur eine neue Instanz dieser Komponente hinzufügen.

Der Zugriff auf die neuen TabSheets kann dann entweder durch FindComponent erfolgen oder aber du fügst die neuen TabSheets in eine TList ein und kannst dann darüber auf die TabSheets zugreifen.

MfG
Adler
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#13

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 29. Aug 2003, 13:13
super adler! thx!
  Mit Zitat antworten Zitat
Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#14

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 29. Aug 2003, 13:17
Zitat von Adler:
nicht ganz richtig
OK, nur da mußt du dich jawohl auch um das Erzeugen der ganzen Komponenten kümmern. Und da das Erzeugen bei jedem TabSheet gleich ist und in ner Schleife abgearbeitet wird, macht es keinen Unterschied. Somit gibt es keine (mir bekannte) Lösung ohne viel Aufwand.
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#15

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 29. Aug 2003, 15:40
ich hab das problem jetzt anders gelöst:
in der Win 3.1-Palette gibts ein TTabSet
das hab ich genommen, und jedesmal, wenn die Seite gewechselt wird, wird der aktuelle Zustand in einem Array gespeichert und für die entsprechende Seite geladen->ich brauch nur die buttons usw. einmal in der Entwicklungsphase auf das Formular setzen
*VorLauterBäumeDenWaldNichtGesehen*

(habs gepostet, falls jemand ein ähnliches problem hat/haben wird)
  Mit Zitat antworten Zitat
Marko

Registriert seit: 12. Okt 2003
5 Beiträge
 
Delphi 6 Personal
 
#16

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 12. Okt 2003, 17:50
Ich hab ein ähnliches Problem. Ich hab mir ebenfalls einen neuen Typ von TTabsheet erstellt, so wie Adler sagte. Nun kann ich problemlos unmengen von Tabsheets erzeugen, aber ich möchte sie ja auch mal wieder schließen.
Dazu habe ich einen Button auf alle Tabsheets gesetzt und in die onclick-prozedur geschrieben: "Form1.pagecontrol1.activepage.free"
Das schließt zwar die Seite, aber das Programm stürzt jedesmal mit einer Zugriffsverletzung ab.
Wenn ich aber dasselbe mit einem Button außerhalb des Tabsheets mache, funzt alles perfekt.
Kann mir irgendjemand sagen, was ich falsch mache?
  Mit Zitat antworten Zitat
Marko

Registriert seit: 12. Okt 2003
5 Beiträge
 
Delphi 6 Personal
 
#17

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 17. Okt 2003, 12:15
OK, ich hab das ganze jetzt mit einem Button außerhalb des Tabsheets gelöst.
Trotzdem würde mich wirklich interessieren, was ich mit meinem anderen Ansatz falsch mache.
Sorry, das ist vielleicht eine blöde Frage, aber ich bin halt nur ein Teilzeithobbyprogrammierer, der gerne etwas dazulernen möchte.
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#18

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 17. Okt 2003, 12:31
Ich hab mir nicht alles durch gelesen und weiß auch nicht ob ihr schon ne lösung gefunden habt...Aber ich hab ein ähnliches Problem gehabt und es so gelöst:

Einen Frame erstellt in dem ich die Komponenten reingepackt hab die ich später im tabsheet haben will
dann zu laufzeit ein leeres tabsheet erstellt in das ich dann das Frame erstellt hab. Fertig...Ansteuern mit PageControl.Pages[PageControl.ActivePageIndex].Tag. Das ist eindeutig
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#19

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 17. Okt 2003, 13:44
HI,

@Marco: Deine Beobachtung ist richtig: Grundsätzlich kann sich keine Komponente in einer eigenen Ereignisbehandlung selbst zerstören, da die Methode einen Zeiger auf das aufrufende Objekt hält, und der zeigt dann nach der Rückkehr plötzlich ins Leere, also gibt es eine Schutzverletzung. Von woanders geht es natürlich.

Zur dynamischen Anzahl Tabsheets:

Wenn zur Desingzeit bereits das Aussehen der einzelnen Tabsheets bekannt ist, muss man die natürlichnicht vollständig von Hand tippen, vielmehr gibt es da diverse Möglichkeiten, sich das Leben zu vereinfachen:

- Alles visuell fertigmachen, und nur das was benötigt wird anzeigen,

oder

- dynamisch: Auch alle Tabsheets soweit bekannt zu Designzeit fertig machen, GExperts frei aus dem Netz holen, Tabsheet etc markieren, Mnuepunkt ComponentsToCode auswählen, den Code für die echte dynamische Erzeugung in den Editor pasten, und man hat es perfekt dynamisch.

Grüsse
Woki
  Mit Zitat antworten Zitat
Marko

Registriert seit: 12. Okt 2003
5 Beiträge
 
Delphi 6 Personal
 
#20

Re: TPageControl und dynamische anzahl TTabsheets

  Alt 17. Okt 2003, 14:27
Ja, sowas hatte ich schon vermutet. Dann muß ich wohl damit abfinden. Aber trotzdem danke!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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