Delphi-PRAXiS

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/)
-   -   Delphi viele Komponenten zur Laufzeit schnell erstellen (https://www.delphipraxis.net/118913-viele-komponenten-zur-laufzeit-schnell-erstellen.html)

ensacom 17. Aug 2008 21:31


viele Komponenten zur Laufzeit schnell erstellen
 
Hallo,

ich erstelle ca 9 Labels und ca 300 Edits zur Laufzeit.
Ich lösche erste alle zuvor dynamisch erstellten Komponenten und erstelle diese dann.

Es funktioniert auch alles ganz gut nur dauert das löschen und laden eine Kleinigkeit und man sieht wie sich die Edits nacheinander aufbauen.

Kann man solche Aktionen beschleunigen so dass alle Komponentenh gleichzeitig dargestellt werden?

Danke

turboPASCAL 17. Aug 2008 21:45

Re: viele Komponenten zur Laufzeit schnell erstellen
 
Zitat:

ca 300 Edits
:shock:

Nimm doch ein StringGrid.

Wenn es dann doch viele mio. Edits werden sollen nimm ein Array.

Delphi-Quellcode:
const
  MAX_EDITs = 300;

var
  My300Edits: Array [0..MAX_EDITs - 1] of TEdit;
Dazu solltest du hier in der DP weiteres finden.

Zitat:

Kann man solche Aktionen beschleunigen so dass alle Komponentenh gleichzeitig dargestellt werden?
Nö.

Bernhard Geyer 17. Aug 2008 22:06

Re: viele Komponenten zur Laufzeit schnell erstellen
 
Ich kann turbos-Anmerkung ( :shock: ) Zustimmen: Hierfür ist z.B. ein Grid besser geeignet.

Ansonsten wäre z.B. die LockWindow-API-Funktion eine Möglichkeit oder die erzeugung auf einem Hidden Panel und dann abschließend dieses Anzeigen.

uligerhardt 18. Aug 2008 08:40

Re: viele Komponenten zur Laufzeit schnell erstellen
 
Und vielleicht DeferWindowPos verwenden. Und den Parent der Edits so spät wie möglich setzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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