AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Parent wird bei Form2.Create gelöscht
Thema durchsuchen
Ansicht
Themen-Optionen

Parent wird bei Form2.Create gelöscht

Ein Thema von ernschd · begonnen am 17. Nov 2020 · letzter Beitrag vom 19. Nov 2020
Antwort Antwort
ernschd

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

Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 11: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
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 12:33
Ich habe ein Panel in Form2 hinzugefügt und dort vorhandene Komponenten reingezogen.
Mit der Maus? Das geht nicht... Strg+X, Strg+V

Frank
Frank Reim
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#3

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 12:36
Nein, schon mit STRG+X und STRG+V.
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 13:32
Und wenn du das Panel bewegst, bewegen sich die Komponenten mit, das hast du sicher getestet.

Dann wäre ein Einblick in die pas + dfm hilfreich.
Kannst du die anhängen?

Frank
Frank Reim
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#5

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 14:51
Die Komponenten sind sicher in dem Panel, das ist auch in der Strukturansicht zu sehen.
Leider kann ich keinen Code aus dem Programm hier posten (Geschäftsrichtlinie).

In einem Beispielprogramm mit identischen Komponenten funktioniert es natürlich.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 15:41
Hallo,
Delphi-Quellcode:
Form2.Show;
Form2.WindowState := wsNormal;
Das darfst du nicht machen.
Das Ändern des WindowState erzeugt intern ein neues (Windows-) Fenster-Handle (so war das zumindestens früher).

Warum nicht so?
Delphi-Quellcode:
Form2.WindowState := wsNormal;
Form2.Show;
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#7

AW: Parent wird bei Form2.Create gelöscht

  Alt 17. Nov 2020, 22:41
Außerdem in der DFM (Properties) der TForm2 darf Visible nicht auf True stehen.

Früher (vor über 15 Jahren) war das standardmäßig mal auf True ... also bei alten Units/Forms eventuell immernoch.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
166 Beiträge
 
Delphi XE8 Professional
 
#8

AW: Parent wird bei Form2.Create gelöscht

  Alt 19. Nov 2020, 11:40
Hab den Fehler gefunden: ich habe einem TileBarItem-Control von Devexpress mein Kalender-Control als Detail-Control zugewiesen (nicht absichtlich).

Manchmal macht man vielleicht Blödsinn...

Danke an alle für die Vorschläge.
  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 09:48 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