AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Tabsheet samt Inhalt zur Laufzeit erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Tabsheet samt Inhalt zur Laufzeit erstellen

Ein Thema von buyden · begonnen am 2. Jan 2006 · letzter Beitrag vom 11. Jan 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 00:59
Zitat von Matze:
Wo ich schonmal schreibe: Man kann und soll Beiträge editieren.
Hab ich getan.
Zitat von Matze:
Hast du evtl vergessen, die ComCtrls.pas einzubinden?
Ups- das ist es aber trotzdem passiert noch nix und wenn ich den Frame mit .Destroy kille, bekomm ich ne Zugriffsverletzung.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 10:14
Wie kann ich denn die erstellten Tabsheets wieder löschen?
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 10:16
Destroy sollte man dafür nicht nehmen, wenn, dann Free. Wenn man das ganze sauber machen möchte, sollte man das objektorientiert machen, dann hast du einen Constructor und einen Destructor zur Verfügung, wo du die Objekte sauber wieder freigeben kannst.
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 10:49
Wie gesagt hab ich es mit diesem Code versucht

Delphi-Quellcode:
procedure Tframeauftrag.Button1Click(Sender: TObject);
begin
  (FindComponent('frameauftrag' + IntToStr(frmmain.pcauftrag.ActivePageIndex)) as TFrameauftrag).Free;
  (FindComponent('tabauftrag' + IntToStr(frmmain.pcauftrag.ActivePageIndex)) as TTabSheet).Free;

end;
Allerdings passiert rein gar nix wenn ich auf den Button klicke.
Kann das damit zusammenhängen, das der Button auch auf dem Frame liegt, das zur Laufzeit erstellt wird und daher nen ganz anderenen Namen hat?
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 14:53
Also daran scheint's nicht zu liegen.
Ich hab mir den Namen des Buttons mal in nem Edit ausgeben lassen und der heißt so wie in der OnClick-Prozedur. Die Prozedur wird also ausgelöst.

Was ist denn sonst verkehrt? Fehlt noch was?
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#16

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 15:31
Das große Problem ist doch, dass sich die Nummerierung der Pages ändert, wenn du eins löscht. Von daher kannst du garnicht so einfach über ActivePageIndex das Frame ermitteln.

Wenn du das Frame mit TMyFrame.Create(NewTabSheet), statt TMyFrame.Create(Self) angelegst, sollte es reichen das Tabsheet freizugeben (PageControl.ActivePage.Free). Das Frame wird dann automatisch freigegeben, da ja das Tabsheet der Owner des Frames ist.

Weiterhin, ist es schwierig, aus einem OnClick eines Buttons des Frames, das Frame freizugeben, da ja nach dem OnClick noch bissle was mit dem Button passiert. Du solltest also auf deinem Haupt-Formular (nicht im Frame) den Button packen und dann einfach wie oben geschrieben, freigegeben.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Benutzerbild von buyden
buyden

Registriert seit: 10. Apr 2003
Ort: Schneeberg
228 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 3. Jan 2006, 16:25
Mit dem Button auf dem MainForm fuktioniert's
Dann muss ich mir eben was für's Layout einfallen lassen.

Vielen Dank erstmal.
Es gibt keine dummen Fragen, außer die von mir


MFG BUYDEN
  Mit Zitat antworten Zitat
RuX

Registriert seit: 21. Jul 2004
Ort: Nürnberg
115 Beiträge
 
Delphi 7 Architect
 
#18

Re: Tabsheet samt Inhalt zur Laufzeit erstellen

  Alt 11. Jan 2006, 10:37
wie passend dieser thread hier! hab grad ein ähnliches problem.

hab über datei->neu->frame einen neue frame erzeugt, und mir dort einen erweiterten konstruktor geschrieben, der als parameter eine referenz auf ein pagecontrol bekommt. in diesem erzeuge ich dann ein tabsheet, und änder dann den parent von den komponenten auf meinem frame auf das tabsheet-objekt. soweit so gut, funktioniert perfekt, tabsheet wird angezeigt etc.
beim destruktor des frames geb ich dann entsprechend das tabsheet wieder frei, allerdings kommt dann die fehlermeldung "Formular kann nicht erstellt werden, zurzeit sind keine mdi-formulare aktiv" (EInvalidOperation).
Hat jemand ne idee?
Delphi3/Delphi5/Delphi7/Delphi8 User
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:23 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