Skip to Content
author's profile photo Former Member
Former Member

ProgressBar Lockup

SBO 6.70.185 SP:00 PL:05

I encounter sporadic exceptions using SAPbouiCOM.ProgressBar:

During writing to ProgressBar.Text:

System.Runtime.InteropServices.COMException (0xFFFFE37B): Progress Bar - has stopped

..which is pretty bad since I can't release the ProgressBar anymore. Even setting it's reference to "nothing" (VB.NET) and calling GC.Collect() doesn't change anything.

Even though it's a stoppable ProgressBar I'm definitely sure noone has stopped it; neither manually nor programmatically. There is no other code in my addon which might stop it, and there's no other addons running.

I catch such events and try to perform StatusBar.CreateProgressBar, which then results in:

System.Runtime.InteropServices.COMException (0xFFFFE37C): Progress Bar - resource is occupied and can not be used at this time

Once the ProgressBar appears occupied SBO keeps it like that. Restart of Addon has no effect.

The class member which creates and accesses the ProgressBar runs in a separate thread. This has proven as a valid method to start functions from the ItemEvent routine yet allowing further event handling. Without this trick the ProgressBar Stop button could never get clicked.

Anyway, once the error occurs I cannot release the ProgressBar, which results in a complete lock-up of the SBO Client application.

Any experience or ideas?

Add a comment
10|10000 characters needed characters exceeded

Related questions

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Feb 04, 2005 at 01:12 PM

    Hi Phil,

    Only one progress bar can be activated in the application. If the progress bar has already been activated by another program, you cannot use until it is released - pbet_ProgressBarReleased event occurred.

    When creating a progress bar with a Stop button (StatusBar.CreateProgressBar(Stoppable=True)), clicking the Stop button does not release the progress bar for other programs.

    To stop the progress bar after clicking the built-in Stop button:

    Catch the SBO_Application_ProgressBarEvent.pbet_ProgressBarStopped event.

    Call ProgressBar.Stop to release the progress bar and return the application to normal mode.

    If you don't want to stop the progress bar, set BubbleEvent = False (when Before = True).

    If you are absolutly sure that none other process has stopped the process. Please create a message to our development support in order to fix the problem.

    Regards,

    Felipe

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.