AGB  ·  Datenschutz  ·  Impressum  







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

multithreading funktioniert nicht

Ein Thema von Innos · begonnen am 12. Jun 2007 · letzter Beitrag vom 12. Jun 2007
 
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: multithreading funktioniert nicht

  Alt 12. Jun 2007, 05:36
Hallo

if Form1.CB1.Checked=true then Überprüfe nicht auf = true. Das mag hier zwar gehen, ist jedoch schlecht, sich das so anzugewöhnen. Wieso, steht hier und das ist ganz interessant und sollte man wissen. Mit deinem Problem hat dies allerdings nichts zu tun.

Du greifst jedoch im Thread (Execute) direkt auf die VCL zu beim Ansprechen der CheckBoxen und das ist alles andere als gut. Genauso beim TMediaPlayer. Der Zugriff auf die VCL aus einem Thread sollte generell nur mittels Delphi-Referenz durchsuchenSynchronize erfolgen. Hierzu findest du auch einige Beispiele in der DP. Ich könnte mir vorstellen, dass dies mit deinem Problem zusammenhängt.

Mir persönlich erscheint es auch nicht sinnvoll, in jedem Schleifendurchlauf zu prüfen, welche CheckBox nun gesetzt ist, denn das kostet auch nur Rechenzeit, jedesmal auf die VCL zugreifen zu müssen. Vielleicht wäre es auch sinnvoll, einzulesen, welche CheckBoxen gesetzt sind und den Thread dann mit entsprechenden Parametern zu starten, es sei denn, man soll während des Threads auch eine CheckBox anklicken dürfen und die Änderungen direkt übernommen werden müssen.

Falls das ganze für eine Visualisierung sein soll, tust du dir sicher leichter, wenn du die bass.dll nutzen würdest. Für diese dll gibt es einige Units und Beispiele in der DP, mit denen sich diese sehr einfach ansprechen lässt. Visualisierungen sind damit ein Kinderspiel.
Eine nette Übung ist es natürlich, selbst eine zu schreiben, das ist keine Frage.
  Mit Zitat antworten Zitat
 


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 13:21 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