AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Programmstart langsam

Ein Thema von freimatz · begonnen am 16. Mai 2019 · letzter Beitrag vom 20. Mai 2019
 
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
731 Beiträge
 
Delphi 12 Athens
 
#6

AW: Programmstart langsam

  Alt 17. Mai 2019, 12:46
Hallo,
ein Anwender stört sich daran, dass mein Programm langsam startet. Mich hat es auch schon gestört. Es gibt viele kleinere Aktionen und einen größeren Block mit 30 Sekunden. Mein Programm ist eine Windows-Anwendung, XE-2, MDI und Expressbars von DevExpress.
Durch debuggen stellte ich fest, dass die Zeit in der unit System.Classes hier gebraucht wird:
Delphi-Quellcode:
procedure NotifyGlobalLoading;
var
  I: Integer;
  G: TList;
begin
  G := GlobalLoaded; // performance: eliminate repeated trips through TLS lookup
  for I := 0 to G.Count - 1 do
    TComponent(G[I]).Loaded;
end;
G.Count ist 726. Das erscheint recht viel, dürfte aber der Anzahl der Komponenten in meinem Programm entsprechen. Ich sehe derzeit auch keine Möglichkeit einen Teil auszulagern, weil DevExpress das Menüband u.a. beim Start ja auch lädt.
Einige Fälle hab eich durchgesteppt. Irgendwann kommt man in procedure TComponent.Loaded; an wo dann Exclude(FComponentState, csLoading); gemacht wird.

Ist jemand ein Problem bekannt und/oder eine Idee wie man das verbessern kann?
Naja, Loaded wird von vielen Komponenten überschrieben um Initialisierungsaufgaben zu erledigen, z. B. bei einer aktiven database connection-Komponente die Verbindung zur Datenbank herzustellen, oder Daten aus einer Datei oder Resource zu laden, etc. Das kann dann dauern, besonders wenn die Aktion erst nach einem Timeout fehlschlägt...
726 Komponenten auf einem Form sind allerdings auch reichlich viel, da solltest Du mal über eine bessere Aufteilung nachdenken und, wenn möglich, Teile des UI erst erzeugen wenn sie auch wirklich gebraucht werden. Stichwort Frames...
Peter Below
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:40 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