Einzelnen Beitrag anzeigen

ernschd

Registriert seit: 16. Jan 2008
165 Beiträge
 
Delphi XE8 Professional
 
#1

Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 10:52
Hallo,

seit einer Layout-Änderung hat mein Programm einen merkwürdigen Fehler. Ich habe ein Panel in Form2 hinzugefügt und dort vorhandene Komponenten reingezogen. Auf Form1 öffne ich in einem OnEnter-Event eine Kalender-Komponente (Parent dieser Komponente ist TScrollBox).

Das ganze funktioniert auch wie gewünscht, bis ich Form2 aufrufe:
Delphi-Quellcode:
if NOT Assigned(Form2) then
  Form2 := TForm2.Create(Self);
Form2.Show;
Form2.WindowState := wsNormal;
Sobald ich mit dem Debugger dort rein gehe, ist Form1.Kalender.Parent leer - zumindest die Eigenschaft Name - und mein Kalender wird danach nicht mehr angezeigt (Form1.Kalender.Showing ist false). FormCreate ist die Standard-Methode, keine überladene oder eigene.

Mein Workaround funktioniert auch nicht:
Delphi-Quellcode:
if (Kalender.Parent <> ScrollBox1) then begin
  RemoveControl(Kalender);
  ScrollBox1.InsertControl(Kalender);
end;
Form1.Kalender.Showing ist dann zwar nicht mehr false, aber der Kalender ist nicht sichtbar.
Die Positionsangaben setze ich zur Sicherheit ebenfalls neu.

Hat irgendjemand eine Idee, woran es liegen könnte? Der Aufruf anderer Formulare funktioniert wie gewohnt.

Ich bedanke mich im Voraus.
  Mit Zitat antworten Zitat