Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Threads und Zugreifen auf Controls

  Alt 28. Dez 2005, 16:26
Zitat von Matze:
Btw: Im OnKeyDown ist mein Code folgender:

myThread.Execute
Und wofür brauchst du dann einen Thread, wenn du den Code direkt im OnKeyDown aufrufst?

Wäre es nicht besser einen Timer zu nehmen und im OnTimer Ereignis die Verarbeitung durchzuführen. Im OnKeyDown wird dann nur der Timer resettet:
Delphi-Quellcode:
OnKeyDown:
begin
  // Timer neustarten
  TimerCalc.Enabled := False;
  TimerCalc.Enabled := True;
end;

OnTimer: (Interval = 100)
begin
  Timer.Enabled := False; // nicht mehrmals aufrufen wenn nichts passiert ist
  CalculateQuickbarArray;
  ParseQuickbar;
end;
Dadurch kann der Benutzer tippen und erst wenn er stoppt oder langsam tippt, wird berechnet. Den Timer solltest du in OnEnter starten und OnExit auf den OnTimer-Handler setzen, damit beim verlassen des Controls der Timer abgeschatet und auch neu berechnet wird.
  Mit Zitat antworten Zitat