out of memory - OutOfMemory Exception using backgroundworker on C# : works fine without backgroundworker -


i'm writing project in c# , i've run problem using backgroundworker keep form responsive whilst expensive process runs. when use bgw method, outofmemory exception. however, if run expensivemethod() directly without using bgw don't have issues. ideas? want able implement progress bar whilst method runs (its quite time consuming process , user needs know how long left). new c# , novice threading.

here how i'm implementing bgw , expensivemethod():

 private void btngo_click(object sender, eventargs e)  {      myprogressbar.visible = true;      bgw.runworkerasync();             }    private void bgw_dowork(object sender, doworkeventargs e)  {      expensivemethod();  }  private void bgw_progresschanged(object sender, progresschangedeventargs e)  {       myprogressbar.value = e.progresspercentage;  }   private void bgw_runworkercompleted(object sender, runworkercompletedeventargs e)  {             myprogressbar.visible = false;  }   private void expensivemethod() {     // big calculation , call every often:     bgw.reportprogress((int)percentcomplete);  } 

this method, however, works fine no memory exceptions, locks form whilst runs:

private void btngothatworks_click(object sender, eventargs e) {     expensivemethod();             } 

any ideas? on windows7 32-bit.

it appears answer was calling bgw.reportprogress((int)percentcomplete); far --- changing code reports every few percent seems have fixed issue.


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -