![]() |
Fenster schließt zu langsam
Guten Morgen.
Ich habe auf einem Formular einen Button, mit dem ein weiteres Formular mit Form.SchowDiaglog aufgerufen wird. Wenn ich nun auf Schließen (x rechts oben) klicke, wird zwar der Fokus offensichtlich sofort an das aufrufende Formular zurückgegeben, allerdings dauert es ca. 3 bis 4 Sekunden, bis sich das Fenster schließt. Hat jemand eine Ahnung, woran das liegen könnte? mfg Jürgen PS. Das Projekt wurde aus der Entwicklungsumgebung gestartet. |
Re: Fenster schließt zu langsam
Wie sieht den die CPU-Auslastung aus und braucht er auch solange, wenn du dein Programm nicht aus Delphi heraus öffnest?
|
Re: Fenster schließt zu langsam
@ Cyberbob
Die CPU-Auslastung (laut Taskmanager) ist vor dem Öffnen des Formulars bei ca. 2%, steigt beim Öffnen des Fensters auf ca. 30% und beim Schließen des Fensters auf 100%. Es gibt keine Unterschiede zwischen dem Start aus der Entwicklungsumgebung und außerhalb, sowohl was die CPU-Auslastung als auch was die Dauer des Schließens betrifft. mfg Jürgen |
Re: Fenster schließt zu langsam
Tritt das Problem bei jeder Anwendung auf oder speziell nur bei dieser? Welche Framework-Version hast du installiert?
Hast du noch ne andere Entwicklungsumgebung ausser Delphi? |
Re: Fenster schließt zu langsam
Guten Morgen, Cyberbob.
Erstmal vielen Dank für Deine Hilfe so früh am Morgen. Das Problem trat bei mir zum ersten Mal auf. Ich arbeite mit dem Borland Developer Studio 2006 (Delphi für das Microsoft.NET Framework). Ich habe Framework 1.1 installiert. Bei dieser Anwendung verwende ich ein Startformular, aus dem heraus (mittels Timer) ein weiteres Formular geöffnet wird. Auf diesem zweiten Formular befindet sich ein Hilfe-Button, mit dem das (dritte) Formular erzeugt und geöffnet (mit ShowDialog) wird. Die Verzögerung tritt nur beim Schließen des dritten Formulars auf. Dieses dritte Formular ist noch leer, d.h. es ist noch kein OK-Button drauf. Das Schließen erfolgte durch Klick auf das X in der Titelzeile. Vielleicht liegt da mein (Anfänger-)Fehler? Ich vermute mal, ich muss das Formular beim Schließen auch noch freigeben, habe mich damit aber noch nicht beschäftigt. Gruß Jürgen |
Re: Fenster schließt zu langsam
Der Timer, welcher das zweite Formular öffnet, wird aber disabled, oder? Nicht dass der die ganze Zeit weiter fleißig Fenster öffnet.
|
Re: Fenster schließt zu langsam
@ hitzi
Wird er!
Delphi-Quellcode:
Gruß Jürgen
procedure frmStart.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin Timer1.Enabled := false; Spielplan := frmSpielplan.Create; Spielplan.ShowDialog; Spielplan.BringToFront; end; |
Re: Fenster schließt zu langsam
Freigeben muss man dank der Garbage Collection unter Dotnet nicht mehr. Wurde vielleicht schon etwas Code dem Fenster hinzugefügt, welcher beim Laden und/oder Schließen der Form ausgeführt wird?
|
Re: Fenster schließt zu langsam
@ hitzi
Nein, das Formular ist vollkommen jungfräulich! Gruß Jürgen |
Re: Fenster schließt zu langsam
Hallo Jürgen,
könnte es sein, dass
Delphi-Quellcode:
das Problem verursacht? Eigentlich müsste doch ShowDialog bereits das neue Formular in den Vordergrund bringen?!
Spielplan.ShowDialog;
Spielplan.BringToFront; Ich interpretiere den Vorgang so: ShowDialog zeigt das Formular an und wartet auf das Ende, das durch Anklicken des 'x' vorgenommen wird. Danach ist dieses Formular zwar nicht mehr aktiv, aber es wird in den Vordergrund geholt. Viel Erfolg bei der Fehlersuche! Jürgen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz