Fragensteller
BackgroundWorker wird nicht beendet

Allgemeine Diskussion
-
Hallo!
Ich verwende für die Generierung eines Fraktals nun einen BackgroundWorker, damit die UI nicht einfriert.
Der folgende Code ist für den BackgroundWorker zuständig:
BackgroundWorker worker = new BackgroundWorker(); worker.DoWork += worker_DoWork; worker.RunWorkerCompleted += worker_RunWorkerCompleted; worker.WorkerSupportsCancellation = true; void worker_DoWork(object sender, DoWorkEventArgs e) { FractalRenderer fr = new FractalRenderer(); fr.Refresh((FractalState)e.Argument); //Fraktal wird gerendert e.Result = fr.wb; //WriteableBitmap wird ausgelesen } void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { Img1.Source = (WriteableBitmap)(e.Result); //Fraktal wird auf UI angezeigt }
Leider habe ich im Debuggen herausgefunden, dass die worker_RunWorkerCompleted-Methode nie aufgerufen wird, das Fraktal also nie angezeigt wird.
Hab ich da irgendwo einen Tippfehler oder ist das WriteableBitmap zu groß für e.Result, oder woran könnte es sonst liegen?
- Typ geändert Aleksander Chalabashiev Montag, 11. Mai 2015 10:53 keine Rückmeldung
Alle Antworten
-
Hi,
da fehlt noch der Start des BackgroundWorkers:worker.RunWorkerAsync()
--
Viele Grüsse
Peter Fleischer (MVP, Partner)
Meine Homepage mit Tipps und Tricks -
Das hatte ich selbstverständlich nicht vergessen.
Ich habe es nur nicht gepostet:
private void Render_Click(object sender, RoutedEventArgs e) { FractalState fs = new FractalState(); fs.modus = 0; fs.imgw = 1000; fs.imgh = 600; fs.ecken = 3; fs.fd = 255; fs.vt = 10000; worker.RunWorkerAsync(fs); }
-
Hallo,
wird RunWorkerCompleted nicht aufgerufen oder erscheint einfach kein Bild? Ich vermute letzteres - dann solltest du im genannten Eventhandler die Error-Eigenschaft der EventArgs überprüfen. Vielleicht ist auch ein Fehler in deinem Code aufgetreten.Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hallo DasKänguru,
ist der Thread noch aktuell?
Gruß
Aleksander
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.