Einzelnen Beitrag anzeigen

moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#1

Thread stürzt bei Änderung ab?

  Alt 4. Jun 2006, 01:04
Moin!

Ich habe einen Thread programmiert, in dem ein Timecode läuft und der zu einem gewissen Timecode ein Ereignis auslöst. Die Timecodes, zu denen ein Ereignis ausgelöst werden soll, sind in einem Array gespeichert.

Delphi-Quellcode:

  TTimecode = Integer;

  [...]

procedure TTimeThread.Execute;
var
  lI: Integer;
begin
  inherited;

  while not Terminated do
  begin
    // Timecode aktualisieren
    [...]


    // Wenn kein Editiervorgang am laufen ist
    if not Self.EditSteps then
    begin

    // Step auslösen?
    if Length(Steps) > 0 then
      for lI := 0 to Length(Steps) - 1 do
        if (Steps[lI] >= prevTimecode) and (Steps[lI] < Timecode) then
          if Assigned(OnStep) then
            OnStep(Timecode);
     
    end;

   [...]

    // Auflösung einhalten
    Sleep(Resolution);
  end;
end;
(Code gekürzt)

Dabei wird Timecode.Steps verändert, davor wird der Thread allerdings "Suspendiert" und danach wieder Resumed. Dennoch stürzt der Thread ab, und zwar mit einem Zugriffsfehler (5).
Das ganze passiert nicht auf meinem PC, sondern auf einem alten 233MhZ Laptop, auf dem ich nicht debuggen kann.

Kann jemand von euch sehen / aus Erfahrung raten wo das Problem verborgen liegt?

Gruß
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat