About TsArcPreloader freez

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #57528
    Support
    Keymaster

      Hello, Jin! I will try to improve it soon.

      #59343
      Jin
      Participant

        Hello, are you still going to improve this issue? Because it is really important for me to show real loading process not just stopped image without any movements.

        #59344
        Support
        Keymaster

          Hello

          I hope to make it in the nearest few releases.

          #59364
          Support
          Keymaster

            Hi

            I have a question, how are you planning to use this control?

            Your application is busy in the own new thread? Or you are using a main thread only?

            #59779
            Jin
            Participant
              'Support' wrote:

              Hi

              I have a question, how are you planning to use this control?

              Your application is busy in the own new thread? Or you are using a main thread only?

              Hi, I am using only main thread only. It is necessary when my software use some big functions to show to user that software is ok and it is just loading the data now.

              #59780
              Stephane Senecal
              Participant

                Just trying to help here…

                You can do Application.ProcessMessages() or ArcControl.Update() to force one paint.

                It will need to be repeated many times in your process so that the UI can update itself.

                Hope it helps.

                Stephane Senecal
                CIS Group
                Delphi programmer since 2001

                #59822
                Jin
                Participant
                  'Stephane wrote:

                  Just trying to help here…

                  You can do Application.ProcessMessages() or ArcControl.Update() to force one paint.

                  It will need to be repeated many times in your process so that the UI can update itself.

                  Hope it helps.

                  It is impossible. For example you have some function, it works 15 seconds form the begin till end. And I can put Application.ProcessMessages or something else only after this function, but it will not resolve my issue, because for all 15 seconds ArcPreloder will not show for user this function calculation process. From my point of view it is bad practice to put such string like ArcControl.Update() in your code for such kind of component.

                  #59824
                  JM-DG
                  Participant
                    'Jin' wrote:

                    It is impossible. For example you have some function, it works 15 seconds form the begin till end. And I can put Application.ProcessMessages or something else only after this function, but it will not resolve my issue, because for all 15 seconds ArcPreloder will not show for user this function calculation process. From my point of view it is bad practice to put such string like ArcControl.Update() in your code for such kind of component.

                    It is bad practice to use Application.ProcessMessages()/ArcControl.Update() in a loop to force an update,

                    but it is also bad practice to run an intensive job on the main thread instead of having it in a separated thread of its own.

                    #59830
                    Support
                    Keymaster

                      Hello, Jin

                      Window controls may be painted in the main application thread only because VCL, is not thread-safe.

                      Additional threads should be used for calculations or other information handling, but drawing on the canvas should be made at the main thread only.

                    Viewing 9 posts - 1 through 9 (of 9 total)
                    • You must be logged in to reply to this topic.