AGB  ·  Datenschutz  ·  Impressum  







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

probleme mit dem ausladen von frames

Ein Thema von agm65 · begonnen am 10. Aug 2007 · letzter Beitrag vom 10. Aug 2007
Antwort Antwort
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#1

probleme mit dem ausladen von frames

  Alt 10. Aug 2007, 12:40
moin, ich nochmal kurz. wie kann ich denn alle frames ausladen. also ich lade die frames nach und nach in meine scrollbox ein, wenn ich jetzt aber eins eigenladen haben und nicht wieder auf nil setzte, dann überlappen die frames...gibt es einen globalen befehl alles frames auf nil zu setzten oder muss ich das dann machen wie folgt:

if frame1.parent <> nil then frame1.parent := nil
else if if frame2.parent <> nil then frame2.parent := nil


usw ?
euer Peter Porka
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: probleme mit dem ausladen von frames

  Alt 10. Aug 2007, 12:44
Nil setzen gibt die Frame nicht frei und somit ist sie auch nicht zerstört sondern weiterhin sichtbar, nur mit dem Unterschied, dass du keinen direkten Zugriff mehr hast (da du die Referenz weggeworfen hast).

Was willst du erreichen? Soll die Frame komplett weg? dann:FreeAndNil(Frame1);
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#3

Re: probleme mit dem ausladen von frames

  Alt 10. Aug 2007, 12:56
nein das frame soll nicht komplett weg, sondern nur nicht mehr in der scrollbox angezeigt werden ..ich denke wenn ich sie freeundnil raushaue muss ich sie ja dann auch wieder createn ? oder ist das sinnvoll ?

also ich sage:

frame1.Parent := frmMain.SBFrameContainer; //läd mir mein frame in die scrollbox wenn ich jetzt aber ein anderes einlade:

frame2.Parent := frmMain.SBFrameContainer; //läd mir mein frame in die scrollbox
bleiben reste des ersten frames bestehen
jetzt gehe ich vor wie folgt:

Delphi-Quellcode:
if frame1.parent <> nil then frame1.parent := nil
frame2.Parent := frmMain.SBFrameContainer;
damit sind dann die reste verschwunden ..aber wenn ich jetzt 100 frames habe darf ich 100 if abfragen machen das nervt.
euer Peter Porka
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: probleme mit dem ausladen von frames

  Alt 10. Aug 2007, 13:02
Die If-Abfragen kannst du dir doch schenken:
Delphi-Quellcode:
 frame1.Parent := nil;
 frame2.Parent := nil;
Aber es geht noch eleganter:
Delphi-Quellcode:
procedure RemoveChildControls(c: TWinControl);
begin
   while c.ControlCount > 0 do
   begin
      c.Controls[0].Parent := nil;
   end;
end;

// Alles, was auf Scrollbox1 liegt entfernen
// Die Childs selber werden aber nicht freigegeben
RemoveChildControls(Scrollbox1);
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von agm65
agm65

Registriert seit: 21. Okt 2003
1.194 Beiträge
 
Delphi 2006 Professional
 
#5

Re: probleme mit dem ausladen von frames

  Alt 10. Aug 2007, 13:04
shmia, sau geil...genau danach habe ich gesucht ....vieln vielen dank !
euer Peter Porka
  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 11:15 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