Springen naar inhoud


- - - - -
Solved

Backgroundworker Stopt Bij Minimaliseren

backgroundworker stopt minimaliseren

  • Log in a.u.b. om te beantwoorden
Er zijn 9 reacties in dit onderwerp

#1 psychoverm

psychoverm

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 31 May 2012 09:19
  • LocatieGent

Geplaatst op 30 May 2012 - 17:12


Beste programmeurs,

Een raar fenomeen...

Ik heb een formulier waar ik een backgroundworker geplaatst heb.  De methodes "DoWork" - "ProgressChanged" en "RunWorkerCompleted" zijn gedefinieerd.
Het draaien van de backgroundworker is geen probleem.  De progressbar loopt goed.  Wanneer ik - tijdens het draaien van die backgroundworker - naar een ander formulier ga in mijn project... Geen enkel probleem.  Maar wanneer ik mijn project minimaliseer, stopt de backgroundworker en gaat hij direct naar de methode "RunWorkerCompleted".  De progressbar stopt ook.

Ik heb totaal geen idee wat ik verkeer doe.

Graag jullie hulp.

#2 DieterVB

DieterVB

    Professional Developer

  • Leden
  • PipPipPipPip
  • 340 berichten
    Laatst bezocht 08 Apr 2013 14:49
  • LocatieVlaamse Ardennen

Geplaatst op 30 May 2012 - 18:10

Misschien een exception die binnen de BackgroundWorker optreed, als de form zich minimaliseert, maar dat op een of andere manier
wordt opgevangen waardoor de BackgroundWorker eindigt.
Kan je wat extra informatie of code posten? :smile:

#3 chrissie1

chrissie1

    Moderator

  • Moderators
  • 486 berichten
    Laatst bezocht 12 Mar 2013 19:33
  • LocatieMoerbeke-Waas
Inzender

Geplaatst op 30 May 2012 - 19:48

die progressbar is het probleem als je minimized want dan wordt die handle vernietigd. Maar het probleem is éénvoudig op te losen door voor het updaten van de progressbar in de progresschanged event te kijken of uw form niet is geminimaliseerd. Dacht dat dat

Visual Basic Code:
If not me.WindowState = WindowState.Minimilazed Then 
... update the progressbar en evntueel andere controls
End If



#4 psychoverm

psychoverm

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 31 May 2012 09:19
  • LocatieGent

Geplaatst op 30 May 2012 - 20:57

Dank u DieterVB en Chrissie1 voor de antwoorden...

@DieterVB:  Een exception is er niet.  Wanneer ik het programma laat draaien zonder te minimaliseren, draait het programma perfect.  En voor meer informatie.  Het is een inventarisprogramma.  In mijn "DoWork" method overloop ik alle artikelen.  In de methode "ProgressChanged" wordt de progressbar vermeerderd en in de methode "RunWorkerCompleted" worden de artikelen weergegeven die voldoen aan de voorwaarden van de gebruiker.

@ Chrissie1: Dank u voor de tip.  Maar het rare is dat wanneer ik de form minimaliseer, dat de backgroundworker naar de methode "RunWorkerCompleted" gaat.  Na het minimaliseren en maximaliseren heeft het programma volledig gedaan.  Dus als ik 80000 artikelen laat draaien in een background thread en ik minimaliseer, dan stopt het programma abrupt en krijg ik een msgbox "Einde programma". Het geen in mijn methode "RunWorkerCompleted" zit.

#5 chrissie1

chrissie1

    Moderator

  • Moderators
  • 486 berichten
    Laatst bezocht 12 Mar 2013 19:33
  • LocatieMoerbeke-Waas
Inzender

Geplaatst op 30 May 2012 - 21:20

Volledig normaal voor een backgroundworker bij een exception wordt die gecancelled en wordt runworkercompleted uitgevoerd.

Citeren

If the operation raises an exception that your code does not handle, the BackgroundWorker catches the exception and passes it into the RunWorkerCompleted event handler, where it is exposed as the Error property of System.ComponentModel.RunWorkerCompletedEventArgs. If you are running under the Visual Studio debugger, the debugger will break at the point in the DoWork event handler where the unhandled exception was raised. If you have more than one BackgroundWorker, you should not reference any of them directly, as this would couple your DoWork event handler to a specific instance of BackgroundWorker. Instead, you should access your BackgroundWorker by casting the

sender

parameter in your DoWork event handler.

http://msdn.microsof...ker.dowork.aspx

Dus even kijken welke error er in zit op het moment dat je minimaliseert.

#6 psychoverm

psychoverm

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 31 May 2012 09:19
  • LocatieGent

Geplaatst op 30 May 2012 - 23:11

OPGELOST!  Ik heb error handling toegepast in mijn method "runworkercompleted" en de lijken kwamen uit de kast :-P :-P .
Het probleem was ... tijdens het uitvoeren van de backgroundworker werd een label opgevuld.  Dat was de teller van het aantal artikelen dat werd gecontroleerd.
Daardoor ontstond er een "niet toegestane bewerking vanuit een andere thread".  Ik heb voor die label een delegate aangemaakt en alles werkt perfect! Ook het minimaliseren.

Nogmaals bedankt Chrissie1 en DieterVB.  Ik zou zeggen, kom eens langs en ik tracteer jullie op een goede pint. 8-) 8-) 8-) 8-)

#7 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3294 berichten
    Laatst bezocht vandaag, 11:23
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 31 May 2012 - 00:05

Bericht bekijkenpsychoverm, op 30 May 2012 - 23:11, zei:

Ik zou zeggen, kom eens langs en ik tracteer jullie op een goede pint. 8-) 8-) 8-) 8-)

Alle eer voor DieterVB en Chrissie natuurlijk, maar als we voor elke goede geboden oplossing een pint zouden drinken.. dan waren we hier elke dag zat ;)

Maar met een klikje op google +1 of de like button (links bovenaan) zijn we ook al content zenne ;) !!

*** If you like youre solution or appriciate the crew's effort, please click on the facebook like or the Google +1 button ***

 

- Any fool can know, the point is to understand -


email : RedThread@vbib.be | MSN : Red_Thread@Hotmail.com

Huisregels - Tutorials - VS 2012 Express - Keybinding Posters - Code Tags gebruiken - LessThenDot - MSDN


#8 chrissie1

chrissie1

    Moderator

  • Moderators
  • 486 berichten
    Laatst bezocht 12 Mar 2013 19:33
  • LocatieMoerbeke-Waas
Inzender

Geplaatst op 31 May 2012 - 10:31

Bericht bekijkenRedThread, op 31 May 2012 - 00:05, zei:

Alle eer voor DieterVB en Chrissie natuurlijk, maar als we voor elke goede geboden oplossing een pint zouden drinken.. dan waren we hier elke dag zat ;)

Maar met een klikje op google +1 of de like button (links bovenaan) zijn we ook al content zenne ;) !!

'k heb toch liever die pint zenne...allez nen Cola dan want ik drink geen bier meer ;-).

#9 pascalbianca

pascalbianca

    Webmaster/Admin

  • Webmaster
  • 3682 berichten
    Laatst bezocht vandaag, 07:59
  • LocatieSusteren, Nederland, Midden Limburg.
Inzender

Geplaatst op 31 May 2012 - 14:28

Bericht bekijkenchrissie1, op 31 May 2012 - 10:31, zei:

'k heb toch liever die pint zenne...allez nen Cola dan want ik drink geen bier meer ;-).

Ah kijk dacht dat ik alleen verstandig was om geen bier te drinken, maar ben dus gelukkig niet alleen ;)

Wat is het gezegde in Ontwikkeling van software.: Er zijn vele wegen die naar Rome leiden, de kunst is de goede te vinden.
email : pascalbianca@vbib.be
of email : webmaster@vbib.be
MSN.:: pmhaschuffelers@hotmail.com
Volg ook mijn Raspberry Pi Blog.:: link


Geplaatste afbeelding


Huisregels - Tutorials - VS 2012 Express - Keybinding Posters - Code Tags gebruiken - LessThenDot - MSDN


*** If you like you're solution or appriciate the crew's effort, please click on the facebook like or the Google + button ***


#10 DieterVB

DieterVB

    Professional Developer

  • Leden
  • PipPipPipPip
  • 340 berichten
    Laatst bezocht 08 Apr 2013 14:49
  • LocatieVlaamse Ardennen

Geplaatst op 31 May 2012 - 15:00

Bericht bekijkenpascalbianca, op 31 May 2012 - 14:28, zei:

Ah kijk dacht dat ik alleen verstandig was om geen bier te drinken, maar ben dus gelukkig niet alleen ;)

Je bent inderdaad niet alleen :D ik ook een colaatje graag :P





Ook met taq Solved, backgroundworker, stopt, minimaliseren voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[Solved] Untitled 1

Hosting provided by Combell
Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
vbib.be - vbnet.be - vbdotnet.be - visualbasic.be