AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MouseMove verzögern

Ein Thema von Bjoerk · begonnen am 22. Mär 2016 · letzter Beitrag vom 24. Mär 2016
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: MouseMove verzögern

  Alt 24. Mär 2016, 00:51
@Namenloser

In deinem Thread fehlt noch das inherited im Destroy . Das muss vor den Freigaben aufgerufen werden!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: MouseMove verzögern

  Alt 24. Mär 2016, 01:41
@Namenloser

In deinem Thread fehlt noch das inherited im Destroy . Das muss vor den Freigaben aufgerufen werden!
Wieso vorher? Das inherited kommt im Destructor immer zum Schluss.

...

Achso, ich glaube, ich weiß was du meinst... ich erinnere mich, dass TThread in seinem Destructor irgendeinen Voodoo macht, der den Thread vorher noch terminiert und auf das Ende wartet, bevor er ihn wirklich freigibt.

Da halte ich aber nichts von, weil es im Destructor zu Problemen mit der Reihenfolge führen kann, wenn man von einem abgeleiteten Thread nochmals ableitet. Deshalb mache ich das schon lange nicht mehr so. Das inherited kommt, wie bei allen Klassen, zum Schluss, und ich gebe meine Threads dafür immer nach dem folgenden Muster frei:

1. Terminate
2. WaitFor
3. Free

So sind die einzelnen Phasen klar voneinander getrennt und man hat keine Probleme. Hat außerdem den Vorteil, dass man nach dem gleichen Schema mehrere Threads parallel beenden kann, ohne dass man mehrfach warten muss.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: MouseMove verzögern

  Alt 24. Mär 2016, 08:42
So kann man sich irren.

Ich dachte man ruft inherited immer dann auf wenn es aufgerufen werden soll/muss und dieses soll/muss ergibt sich durch eine Überlegung, wann es eben sinnvoll ist.

Liegt wohl daran, dass mich bei "Das haben wir immer so gemacht!" immer so ein seltsames Gefühl überkommt.

Der Einwand mit dem Voodoo lässt mich an Arthur C. Clarke denken.

(Das ist Satire bzw. Ironie)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 05:01 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 by Thomas Breitkreuz