AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

Ein Thema von Bünni · begonnen am 6. Apr 2019 · letzter Beitrag vom 8. Apr 2019
Antwort Antwort
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 08:29
Mach den Verzögerungswert einfach optional einstellbar - bei Null wird nicht gewartet und gut ist (siehe Systemsteuerung/Tastatur). Es gibt Szenarien, in denen das sehr sinnvoll ist und ich hatte es auch mal mit einem Timer gelöst; ein Thread wäre mglw eleganter, aber zuviel Aufwand im Verhältnis. IMHO.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.057 Beiträge
 
Delphi 12 Athens
 
#2

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 10:30
ich hatte es auch mal mit einem Timer gelöst; ein Thread wäre mglw eleganter, aber zuviel Aufwand im Verhältnis. IMHO.
Ich halte hier einen Thread nicht für eleganter, im Gegenteil. Das Zurücksetzen des Timers ist kostengünstig und ein Timer ist auch genau dafür gedacht nach einer bestimmten Zeit etwas auszuführen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#3

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 10:55
Ich benutze für sowas auch gerne Timer.

Weil ich seit Win95 oder WinXP aber immer das Damoklesschwert von "zu wenig vorhandenen Timer-Resourcen" im Hinterkopf habe, bleibt da immer ein ungutes Gefühl bestehen.

Vielleicht kann mich jemand da jemand beruhigen, dass sowas in modernen Systemen nicht mehr auftreten kann
(Natürlich rede ich nicht davon wenn man irgendwo massiv zig-tausende Timer verwenden würde,
sondern von einem normalen Fall von Timer in einer handvoll Units).

Unter welchen Umständen würde wohl so ein Timer nicht korrekt feuern ?

Geändert von Rollo62 ( 8. Apr 2019 um 11:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#4

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 11:54
Vielleicht kann mich jemand da jemand beruhigen, dass sowas in modernen Systemen nicht mehr auftreten kann
Raimond Chen kann das vermutlich: What is the maximum number of timers a program can create?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.240 Beiträge
 
Delphi 12 Athens
 
#5

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 12:02
Dankeserh für den Link.
So ganz beruhigt bin ich leider noch nicht
Wer weiss schon wieviel Timer Delphi, 3rd PArty, o.ä. intern nutzen ?

Für generelle Timing-Verzögerungen habe ich mir einen "DelayWorker" gebaut,
mit einem Timer der mehrere anonyme Procs in der richtigen Sequenz feuern kann.
Damit bin ich dann wohl doch auf der sichereren Seite.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#6

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 12:08
(Natürlich rede ich nicht davon wenn man irgendwo massiv zig-tausende Timer verwenden würde,
sondern von einem normalen Fall von Timer in einer handvoll Units)
Ich habe hier ein Alt-System, da laufen ca. 80 Timer gleichzeitig ohne Probleme. Es ist dabei viel wichtiger die Intervalle an die benötigen Event-Laufzeiten anzupassen, als über eine Handvoll Timer mehr oder weniger nachzudenken
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.599 Beiträge
 
Delphi 7 Professional
 
#7

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 12:15
Einfachste Methode:

Timer am Anfang des Ereignisses ausschalten und am Ende wieder einschalten.

Besagtes Problem kenne ich nur, wenn ein (oder mehrere) Timer sich selbst "überholt", also das Timerereignis bereits ausgelöst wird, während es noch abgearbeitet wird.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.758 Beiträge
 
Delphi 12 Athens
 
#8

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 13:37
Timer am Anfang des Ereignisses ausschalten und am Ende wieder einschalten.
Klar, aber das löst nicht das Problem, daß dann dauerhaft die CPU (bzw. ein Kern) ausgelastet ist, wenn die Timer-Events quasi im Dauerfeuer triggern. Da muss man sich dann schon fragen, ob so kurze Intervalle überhaupt nötig sind, wenn sie dann eh nicht eingehalten werden können.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.599 Beiträge
 
Delphi 7 Professional
 
#9

AW: Auf Ende der Eingabe im TEdit warten und Inhalt verzögert verarbeiten

  Alt 8. Apr 2019, 13:46
Timerintervalle sind bei mir eher im Sekunden- oder Minutenbereich, 'nen Timer alle paar Millisekunden auslösen ist eher 'ner Ausnahme. Allenfalls zur Pegelabfrage bei der Bass.dll, um "irgendwas flackern zu lassen" Aber kürzer als 20 ms macht ein System unbrauchbar.
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:30 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