Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism Fenster schließt zu langsam (https://www.delphipraxis.net/75909-fenster-schliesst-zu-langsam.html)

gfjs 27. Aug 2006 05:04


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.

Cyberbob 27. Aug 2006 08:18

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?

gfjs 28. Aug 2006 03:09

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

Cyberbob 28. Aug 2006 06:11

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?

gfjs 28. Aug 2006 06:26

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

hitzi 28. Aug 2006 06:59

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.

gfjs 28. Aug 2006 08:42

Re: Fenster schließt zu langsam
 
@ hitzi

Wird er!
Delphi-Quellcode:
procedure frmStart.Timer1_Tick(sender: System.Object; e: System.EventArgs);
begin
  Timer1.Enabled := false;
  Spielplan     := frmSpielplan.Create;
  Spielplan.ShowDialog;
  Spielplan.BringToFront;
end;
Gruß Jürgen

hitzi 28. Aug 2006 08:59

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?

gfjs 28. Aug 2006 09:06

Re: Fenster schließt zu langsam
 
@ hitzi

Nein, das Formular ist vollkommen jungfräulich!

Gruß Jürgen

Jürgen Thomas 28. Aug 2006 09:30

Re: Fenster schließt zu langsam
 
Hallo Jürgen,

könnte es sein, dass
Delphi-Quellcode:
  Spielplan.ShowDialog;
  Spielplan.BringToFront;
das Problem verursacht? Eigentlich müsste doch ShowDialog bereits das neue Formular in den Vordergrund bringen?!

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 18:18 Uhr.
Seite 1 von 2  1 2      

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