Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.098 Beiträge
 
Delphi 12 Athens
 
#5

AW: Alle Elemente vom Formular enable := false ?

  Alt 19. Jul 2012, 18:05
Zitat:
Wäre ein Thread nicht eine sauberere Lösung?
Sagen wir es mal so, wenn alles im Hauptthread läut und man der Form/Application keine Möglichkeit der Messageverarbeitung gibt, dann kann man sich das Disablen auch sparen.

So oder so, ob mit regelmäßigen ProcessMessages oder mit Thread ... man sollte das "sperren", was nicht rekursiv/geichzeitig aufgerufen werden darf/soll.


Zitat:
jede
Wenn etwas schnell ist, dann kann man damit alles ausbremsen.
- entweder mit fester Schrittweite z.B. nur jeden 100-ten
- oder zeitgesteuert die Anzeige auffrischen, bzw. den Fortschritt anzeigen.
z.B. alle 100-250 Millisekkunden sind flüssig oder eben alle 1 Sekunde

PS: BeginUpdates der ListBox beschleunigt auch die Verarbeitung und es guckt eh kaum jemand sich alle 50000000 Einträg der Box an, vorallem nicht, wenn man eine schöne ProgressBar/Counter zur Verfügung hat.





Die Form Disablen?

Oder die entsprechenden Komponenten auf ein/mehrere TPanel und dann das/die Panel disablen.

Oder ein modales "Progess"-Fenster an diese Form hängen (dabei wird die Form automatisch disabled)

Oder ...
- du schaust dir die Vererbung an
- suchst einen gemeinsamen Vorfahren, welcher die gewünschte Eigenschaft/Funktion enthält oder gar implementiert
- dann geht man alle Components oder rekursiv die Controls (jenachdem wie die Owner vergeben sind) der Form durch
- prüft auf diesen Vorfahren und verwendet den passenden Cast, um auf diese Eigenschaft/Funktion zuzugreifen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Jul 2012 um 18:13 Uhr)
  Mit Zitat antworten Zitat