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