Forum: Object-Pascal / Delphi-Language
Delphi
by geskill,
14. Aug 2011
Aus meiner Sicht wäre die einfachste Lösung einfach vor dem Betreten der CS anzufragen, ob man sich im Hauptthread befindet und nur wenn nicht den Lock zu setzten und später wieder zu öffnen. Nur irgendwie kommt mir dies ein bisschen komisch vor, denn warum hat man dies dann nicht gleich in die CS-Komponente integriert?
Um das nachträglich einzubauen kann man ja auch ganz einfach mit einer...
Forum: Object-Pascal / Delphi-Language
Delphi
by geskill,
12. Aug 2011
Entstehen diese Deadlocks durch Fehler vom Programmierer oder durch die Komponente selber?
Weil ich habe das Demo Programm gerade etwas geändert, sodass 2 Threads in ein Memo schreiben (dauerhaft). Nebenbei klicke ich auf einen Button der mehrere Male etwas in das Memo schreibt. Wenn man das Programm nun etwas länger laufen lässt und ausgiebig auf den Button klickt wird es früher oder später...
Forum: Object-Pascal / Delphi-Language
Delphi
by geskill,
14. Mai 2011
Ich habe mir jetzt gerade mal ein kleines Testprogramm geschrieben, dass permanent mit 2 Threads auf ein Memo schreibt. Zusätzlich habe ich auch noch versucht Werte in das Memo einzugeben (also manuell). Das ganze habe ich jeweils mit einer TCriticalSection, TMonitor und TMultiReadExclusiveWriteSynchronizer probiert und bei allen drei Klassen kam es nie zu irgendwelchen Fehlern - sprich jeder...
Forum: Object-Pascal / Delphi-Language
Delphi
by geskill,
13. Mai 2011
Mit Messages würde es bestimmt gehen, aber dann müsste ich ja ziemlich viel ändern (überall einen Message-Listener). Und dass dann Kreuz und Quer Windows Nachrichten hin und her geschickt werden gefällt mir auch nicht. Zumal auch mehrere Instanzen von einer Komponente existieren können. Wenn man dann an diese eine Nachricht schickt, wird die andere die dann doch auch bekommen?
Es muss doch...