| Autor |
Beitrag |
Mike19
      
Beiträge: 256
Win XP, Vista, Win 7
Delphi 2005, Turbo Delphi
|
Verfasst: Sa 19.09.09 10:54
Hallo,
mal eine Frage:
Ich erstelle in einer Procedure mehrere Objecte zur Laufzeit, was auch Problemlos funktioniert. Die Labels werden schnell dargestellt aber die ComboBoxen und Editfelder sehr langsam. Kann man das optimieren ?
Danke im Voraus
Micha
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 19.09.09 19:18
Wenn es so viele sind, dass es zu langsam wird, solltest du vielleicht dein Konzept überdenken.
Grundsätzlich kann man das versuchen zu beschleunigen indem man z.B. das Neuzeichnen usw. verhindert, aber für größere Anzahlen sind solche Komponenten eben nicht gedacht. 
|
|
Mike19 
      
Beiträge: 256
Win XP, Vista, Win 7
Delphi 2005, Turbo Delphi
|
Verfasst: Sa 19.09.09 19:38
Danke für Deine Antwort,
das Problem ist, dass je nach Monat 56 - 62 Felder werden. Gibt es evtl. noch eine bessere Lösung. Die Felder müssen aber Eingabefelder sein und die ComboBoxen werden mit Daten zur Laufzeit gefüllt.
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 19.09.09 19:41
Eine ganz kleine und wenig optimierte Lösung findest du im Anhang. Das habe ich noch weiter gemacht (läuft so aber grad nicht  ), so dauert auch die Anzeige von hunderten Feldern nur Millisekunden...
Ach ja: Einfach auf die Texte klicken.
Einloggen, um Attachments anzusehen!
|
|
Mike19 
      
Beiträge: 256
Win XP, Vista, Win 7
Delphi 2005, Turbo Delphi
|
Verfasst: Sa 19.09.09 19:49
Danke Sebastian, ich werde versuchen das Morgen mal auf mein Prog umzusetzen
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 19.09.09 19:54
Ein etwas größeres auf einer PaintBox basierendes Programm von mir findest du hier:
Periodensystem Xtreme: www.delphi-forum.de/viewtopic.php?p=557541
Dort ist die angezeigte Datenmenge deutlich größer als bei dem kleinen Beispiel, aber es klappt reibungslos.
Vielleicht gibt dir das noch Ideen für dein Projekt, auch wenn ich zugeben muss, dass der Quelltext zwar objektorientiert und modular geschrieben ist, aber vielleicht doch nicht ganz einfach nachzuvollziehen ist. 
|
|
Mike19 
      
Beiträge: 256
Win XP, Vista, Win 7
Delphi 2005, Turbo Delphi
|
Verfasst: Sa 19.09.09 20:19
Danke,
Ziel meines Projektes ist, einen Dienstplan für geteilte Tagesdienste zu erstellen und auch auszudrucken. Die ComboBoxen verwende ich zur Auswahl der festgelegten Schichten, diese sind in einer Tabelle gespeichert und können vom Benutzer angepasst werden. Deshalb muss die aktuellen Daten immer neu einlesen. An diesen Daten hängen dann die jeweiligen anfallenden Stunden, die aber vom Benutzer noch geändert werden können (Überzeit und andere Abweichungen). Deshalb mein Konzept mit den ComboBoxen und den Editfeldern. Zum Schluss werden die Werte dann in einer weiteren Tabelle gespeichert und zu anderen Funktionen genutzt.
|
|
|