AGB  ·  Datenschutz  ·  Impressum  







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

Thread stürzt bei Änderung ab?

Ein Thema von moritz · begonnen am 4. Jun 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
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
moritz

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

Re: Thread stürzt bei Änderung ab?

  Alt 4. Jun 2006, 15:06
*push*

Ich bekomme "Thread-Fehler: Zugriff verweigert (5)" - Dazu findet nichtmal Google was...
"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
guste

Registriert seit: 23. Apr 2006
19 Beiträge
 
#3

Re: Thread stürzt bei Änderung ab?

  Alt 5. Jun 2006, 00:14
Möglicherweise tritt die Exception im Eventhandler von OnStep auf. Ich tippe auf einen Dateizugriff im Eventhandler.

Auf Verdacht mal probieren.

Delphi-Quellcode:
try
  if Assigned(OnStep) then
              OnStep(Timecode);
except
  raise Exception.Create('Tada!');
end;
Sonst bitte mehr Quellcode zeigen.
guste
  Mit Zitat antworten Zitat
moritz

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

Re: Thread stürzt bei Änderung ab?

  Alt 5. Jun 2006, 10:57
Moin!

D.h. Events können auch dem Thread selber Probleme machen?

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
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Thread stürzt bei Änderung ab?

  Alt 5. Jun 2006, 11:15
Events können immer Probleme machen wenn in dem Eventhandler fehler vorhanden sind. Das hat nix damit zu tun das du aus dem Thread heraus das auslöst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
moritz

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

Re: Thread stürzt bei Änderung ab?

  Alt 5. Jun 2006, 11:18
Moin!

Okay, d.h. ich werde einfach mal alle Fehler abfangen, die mir in meinem Thread irgendwie über den Weg laufen könnten.

Was ich ansonsten gestern noch gemacht habe ist das ganze richtig Thread-Safe gemacht. Ich hatte das davor etwas "eigen" gelöst, dank Florian's Hilfe mach ich das jetzt mit CriticalSections.

Sobald ich das alles mal auf dem 233'er getestet hab', geb' ich bescheid.

Danke & 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
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 13:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz