AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit PageControl

Ein Thema von CalganX · begonnen am 7. Okt 2002 · letzter Beitrag vom 16. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem mit PageControl

  Alt 7. Okt 2002, 13:52
Hi,
ich erstelle die verschiedenen Tabs in einem PageControl dynamisch. Wenn ich nun das erste (links) schließe so kommt meistens ein AccessViolation... (kann aber sein, dass auch beim schließen eines anderen Tabs passiert..).
Woran kann das liegen?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 7. Okt 2002, 14:46
Hallo Chakotay1308,

ääääh wie war das im Mittelteil? Bei einer PageControl schaltet man doch nur zwischen den verschiedenen Seiten um!? Wie schließt du denn eine Seite?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#3
  Alt 7. Okt 2002, 15:02
versuchst du sie zu löschen, oder was meinst du. Wennh ja versuchs mal mir TabSheet.free und dann musst du noch die active Seite (activepage oder so) auf die neue Seite stellen
Alexander
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4
  Alt 7. Okt 2002, 15:08
Ich habe mal ein wenig herumprobiert, aber es hat leider nicht viel gebracht...

Chris
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#5
  Alt 7. Okt 2002, 15:10
was machst du denn, jetzt? Löscht du ein Tabsheet???
Wenn ja musst du dem PageControl auch eine neue Seite zu weisen!
Alexander
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6
  Alt 7. Okt 2002, 15:18
In der Funktion zum schließen steht:
Code:
begin
  PageControl1.ActivePage.Free;
end;
Das mit dem zuweisen der neuen Page macht er automatisch. Außerdem kann es eigentlich nicht wirklich daran liegen, da es nur manchmal abmurkst...

Chris
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#7
  Alt 7. Okt 2002, 15:21
Dies mal habe ich ein einfaches Tab geschlossen und der Error war wieder da (das Tab war nicht das erste)...

Chris
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8
  Alt 7. Okt 2002, 15:28
Hallo Chris,

das sieht für mich aus, wie den Ast abzusägen, auf dem man sitzt.

Es gibt ja ein Array Pages[] als Eigenschaft von PageControl. Wenn du eine Seite mit Free aus dem Speicher löscht, zeigt Page[] aber noch immer auf diese Seite. Ein versuchter Zugriff auf eine freigegebene Speicherzelle führt dann zum Crash.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9
  Alt 7. Okt 2002, 15:38
Hallo Chris,

du benötigst eigentlich eine Methode von PageControl, die die entsprechende Seite wirklich freigibt, so dass PageControl das auch mitbekommt. Versuch doch einmal RemoveComponent. Ich weiß zwar nicht, ob PageControl das dann korrekt abarbeitet, könnte mir das aber vorstellen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#10
  Alt 7. Okt 2002, 15:58
versuch doch mal, eine neue Seite zuzuweisen, so wie ich oben geschrieben habe. Mein Freund hatte ein ähnliches Problem, als ich ihm das sagt, klappte es....
Alexander
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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