Einzelnen Beitrag anzeigen

Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#15

AW: Frame Align := alClient funktioniert nicht

  Alt 4. Feb 2011, 19:30
Zitat von stahli:
Dann liegt das Problem ja nicht in Deinem Quelltextausschnitt.
Machst Du noch mehr im Frame.Create?
Nein, das war das gesamte Frame.Create!

Zitat von stahli:
Es sieht ja so aus, als ob eine Zelle gelöscht wird, die ein Control enthält.
Das ist aber definitiv nicht der Fall. Die Komponenten die auf den Zellen liegen, werden später erst erzeugt.

Zitat von stahli:
Kommst Du besser zurecht, wenn Du den Frame erst zu Laufzeit dynamisch erzeugst und in das Formular setzt?
Alternativ nutze ich inzwischen auch lieber dynamisch eingebundene Formulare - die sind mir sympathischer als Frames.
Ja, so funktioniert es fehlerfrei,
Delphi-Quellcode:
  
 gridFrame1 := TFrame2.Create(Self);
  with gridFrame1 do
  begin
    Name := 'gridFrame1';
    Parent := PageControl1.Pages[0];
    Align := alClient;
  end;
Zitat von Sybok Factor:
Align := alClient macht dann Probleme wenn der Frame auf einem Control liegt, dass ebenfalls alClient hat oder wenn darauf Elemente liegen, die auch automatisch in der Größe geändert werden soll.
Alles diese ist genau so, allerdings erzeuge ich das Frame dynamisch funktioniert es!

Zitat von Sybok Factor:
Noch zu deinem Problem mit dem fehlenden Element: Ich bin mir nicht ganz sicher, aber ich meine mich zu erinnern, dass ich ähnliche Fehler hatte, wenn der Frame "zu früh" erzeugt wurde. Eventuell hilft es den Erstellungszeitpunkt nach hinten zu setzen.
Das kann schon sein, da der Frame aber auf dem PageControl schon zur Entwicklungszeit gelegen hat, habe ich ja auf den Code, wann das Frame erzeugt wird keinen Einfluss.

Naja, dynamisch funktioniert es. Aber ich fände schon Intresant wo der Fehler liegt.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat