Einzelnen Beitrag anzeigen

schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#10

AW: Multithreading und Globale Funktionen

  Alt 9. Jan 2011, 15:04
In Delphi gibt es eine spezialisierte TList dafür.
TThreadList
Danke für den Tipp!

Habe es nun eingebaut, jedoch geht es in einem Thread - im anderen nicht!?

Ich mache es so in den Threads:
Delphi-Quellcode:
var
   List : TList;
   i : Integer;
begin

   List := ALL_Names.Locklist;

   for i := 0 to List.Count - 1 do
   begin
      //do stuff with data
   end;
   ALL_Names.UnlockList;
Es bleibt beim Locklist stehen.

Der einzige Unerschied ist, dass es im dem Thread wo es nicht geht in der Thread.Execute ausgeführt wird.
Im Thread wo es geht wird es per ein OnUDPRead Thread ausgeführt. Also der Thread hat einen UDP-Server mit einer OnUDPRead vom Thread. Da geht es ohne Probleme.
Kann das LockList nicht im Execute vom Thread ausgeführt werden weil der Thread dann stehen bleibt und das Locklist nicht durchgeführt werden kann??

Ein zusätzliches ALL_Names.UnlockList davor bringt auch nichts.
Delphi 2010, Update 4 & 5
  Mit Zitat antworten Zitat