HeDiBo

Forum Replies Created

Viewing 20 posts - 1,141 through 1,160 (of 1,174 total)
  • Author
    Posts
  • in reply to: TsBitBtn does not always show glyph #41857
    HeDiBo
    Participant

      QUOTE (Support @ Mar 10 2010, 12:27 PM) <{POST_SNAPBACK}>
      Try to change the DrawOverBorder property to True, some skins have thick, non-transparent border which is drawn over the content if this property is False.

      That was it

      in reply to: Animated sPanel? #41853
      HeDiBo
      Participant

        Thanks <img src="style_emoticons//a7.gif” style=”vertical-align:middle” emoid=”:a7:” border=”0″ alt=”a7.gif” /> That showed me how to fade in a panel. But fading out (slowly making it invisible) was not in the demo. Can you explain how to do that?

        in reply to: TsBitBtn does not always show glyph #41805
        HeDiBo
        Participant

          It's even more complicated, sometimes the SpeedButton's glyph and caption disappear, sometimes they don't.

          When they disappear? The TsBitBtn disappears as in the picture: it's on a TsPanel, which is on the form, but it appears in front of a TsMemo, which is on the same form. The SpeedButton's glyph and caption disappear when on a Frame with a FrameAdapter and part of a TsFrameBar. When the SpeedButtons are on a TsToolbar, their glyphs and captions do not disappear.

          in reply to: TsBitBtn does not always show glyph #41804
          HeDiBo
          Participant

            Unfortunately, I have to conclude that TsSpeedButton has exactly the same problem

            in reply to: sGauge does not show animation #41803
            HeDiBo
            Participant

              Because animation is only shown when the message queue is handled, you could say that animation is totally absent: when the message queue is handled, you mostly are awaiting user input. That's exactly when the gauge should not be animated, because then it would suggest that the program is still working.

              in reply to: PromptDataSource gives a Range Error #41776
              HeDiBo
              Participant

                This bug stems from a bug in CommCtrl.pas. It contains this function:

                CODE
                function ListView_GetTextColor(hwnd: HWND): TColorRef;
                begin
                  Result := SendMessage(hwnd, LVM_GETTEXTCOLOR, 0, 0);
                end;

                Because the Result must be a TColorRef (a DWORD), and SendMessage returns a LongInt, a Range Check error may occur. The function should be:

                CODE
                function ListView_GetTextColor(hwnd: HWND): TColorRef;
                begin
                  Result := TColorRef(SendMessage(hwnd, LVM_GETTEXTCOLOR, 0, 0));
                end;

                There are a few more cases of this bug:
                ListView_GetBkColor
                ListView_GetTextBkColor
                and
                DateTime_GetMonthCalColor

                So, in the case of the procedure TacListViewWnd.SaveStdParams in module acSBUtils, the cure would be to do the SendMessage, i.s.o. calling the bugged functions ListView_GetBkColor and ListView_GetTextColor from CommCtrl.

                in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41704
                HeDiBo
                Participant

                  QUOTE (Support @ Feb 15 2010, 12:50 PM) <{POST_SNAPBACK}>
                  Problem occurs in automatic self-destroying when timer used for a form hiding animation effect.
                  Seems you hadn't it earlier Could be, I didn't have that because the modal form in which the timer was used could only be destroyed manually.

                  in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41631
                  HeDiBo
                  Participant

                    QUOTE (Support @ Feb 9 2010, 12:36 PM) <{POST_SNAPBACK}>
                    Thank you.
                    I have have a problem with killing the TThreadedTimer…
                    Do you know how to make this timer terminated and destroyed automatically when animation is finished?


                    In the OnCreate event in TAuAnimBmp the timer is created:

                    FTimer := TThreadedTimer.Create(Self);

                    In the OnDestroy event of TAuAnimBmp the timer is destroyed again:

                    FTimer.Enabled := false; // This will suspend the thread
                    FTimer.Free; // And this will kill the thread.

                    Hope this helps.

                    in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41626
                    HeDiBo
                    Participant

                      QUOTE (Support @ Feb 9 2010, 11:31 AM) <{POST_SNAPBACK}>
                      Thank you, I'll try to use TThreadedTimer. Can I change this code and use a changed code in the package?


                      I've included the author's license file, so you can see for yourself, it's totally free to use and modify (the author qualifies it as freeware).[attachment=3747:README.TXT]

                      in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41619
                      HeDiBo
                      Participant

                        Unfortunately, despite all measures I took, the program still appears to be hanging sometimes at start-up.

                        in reply to: Problems collections #41618
                        HeDiBo
                        Participant

                          QUOTE (emailaya @ Feb 4 2010, 10:07 PM) <{POST_SNAPBACK}>
                          when im looking for a problem in the forum, im using the search option so the header or the fact one topic includes several problems is not a problem

                          It's not about you, it's about everyone else. Please stick to the forum rules.

                          in reply to: Problems collections #41613
                          HeDiBo
                          Participant

                            QUOTE (emailaya @ Feb 2 2010, 01:10 PM) <{POST_SNAPBACK}>
                            i had different posts for different problems but it made a mess looking for different posts everytime, this way, i have all the problems in one place


                            The point is, that a forum is for the benefit of all its readers. Otherwise support could be easily done by email.

                            If other users want to find something in this forum, it would be hardly possible with a message heading that doesn't reveal anything about the message content.

                            in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41597
                            HeDiBo
                            Participant

                              QUOTE (Support @ Feb 3 2010, 12:39 PM) <{POST_SNAPBACK}>
                              Do you know a solution for updating controls in the animation process?


                              In this topic OnPaint cannot contain Application ProcessMessages I included a testfile AppHang.rar.

                              That archive contains two components: a threaded timer (TThreadedTimer) and an animated bitmap (TAuAnimBmp) that uses the timer to refresh. It does not use an Application.ProcessMessages statement.

                              Maybe that's the idea you're looking for.

                              The threaded timer is Open Source, so you can include it in the AC components.

                              in reply to: 2 buggs in MDI Child code + source code solution {v6.53} #41579
                              HeDiBo
                              Participant

                                This is a sure place to get an AV:

                                Module sFrameBar.pas contains:

                                CODE
                                if Assigned(acMagnForm) then SendMessage(acMagnForm.Handle, SM_ALPHACMD, MakeWParam(0, AC_REFRESH), 0);
                                if Steps > 0 then Application.ProcessMessages;
                                end;
                                FadingForbidden := False;
                                inc(sHeight, BorderWidth + 2 * integer(BorderStyle = bsSingle));
                                if VertScrollBar.Range <> sHeight then VertScrollBar.Range := sHeight;
                                Arranging := False;
                                UpdateWidths;
                                if Showing then
                                RedrawWindow(Handle, nil, 0, RDW_ALLCHILDREN or RDW_INVALIDATE or RDW_ERASE or RDW_FRAME);
                                if Assigned(acMagnForm) then SendMessage(acMagnForm.Handle, SM_ALPHACMD, MakeWParam(0, AC_REFRESH), 0);
                                MouseForbidden := False;
                                Application.ShowHint := AppShowHint;
                                ShowHintStored := False;

                                If anywhere before the Steps > 0 test the user has closed the form containing the sFrameBar or has closed the acMagnForm, he/she will get an access violation.
                                This is just one example. Have a look in sPageControl for another one.

                                in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41578
                                HeDiBo
                                Participant

                                  I'm getting a bit nearer to the problem.
                                  If you place an extra statement in the DPR file like this:

                                  SetProcessAffinityMask(GetCurrentProcess, 1);

                                  and add a

                                  use Windows,

                                  to the top, the problem goes away.
                                  This is a problem occurring with hyperthreaded CPU's and Delphi 7.

                                  So, unless you have a hyperthreaded CPU, you cannot reproduce it!

                                  Now that I found it, I don't think AlphaControls is to blame. Just because it incurs extra processing this old bug resurfaces.

                                  in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41577
                                  HeDiBo
                                  Participant

                                    QUOTE (Support @ Feb 2 2010, 12:29 PM) <{POST_SNAPBACK}>
                                    Thank you.
                                    What is TBCBitmap? (abort_icon: TBCBitmap;)


                                    Don't worry, just replace it with a standard bitmap.

                                    in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41567
                                    HeDiBo
                                    Participant

                                      QUOTE (Support @ Feb 2 2010, 08:19 AM) <{POST_SNAPBACK}>
                                      I have installed TFormResizer and check it too, but can't receive an issue. How you are using this component? Could you help me to reproduce the problem?


                                      Here is a test application that hangs when started (with Run) from the IDE of Delphi 7.

                                      I think the problem is more in another component: AuAniBmp. If I remove that one from the Aura_messager form the problem disappears.
                                      So, I've included that component. And the ThreadedTimer it uses. I think it's complete now, but if you miss something please let me know.

                                      Remember, the problem only appears if you run the application from the IDE under the Delphi debugger. Not if you start it stand-alone.

                                      [attachment=3732:AppHang.rar]

                                      in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41554
                                      HeDiBo
                                      Participant

                                        QUOTE (HeDiBo @ Jan 28 2010, 05:13 PM)
                                        Is this the solution? Or is it a bug (I would say it's a bug) <img src="style_emoticons//happy.gif” style=”vertical-align:middle” emoid=”^_^” border=”0″ alt=”happy.gif” />


                                        In the new release (6.54), this bug has become horrible. I cannot debug my project anymore! It simply hangs on startup. I have set the sSkinManager1.AnimEffects.FormShow.Active to False. It doesn't help.

                                        It appears to have to do with a form that's autocreated in the DPR file. If I create that form dynamically in the main form there's no problem.
                                        The form in question contains among others a custom form resizer, that resizes the form and all its controls dynamically upon request. The resize operation is not done though; only the current size is saved at the form create time.
                                        This is the open source form resizer: [attachment=3726:EasySize.rar]
                                        HELP <img src="style_emoticons//huh.gif” style=”vertical-align:middle” emoid=”:huh:” border=”0″ alt=”huh.gif” />

                                        in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41533
                                        HeDiBo
                                        Participant

                                          Is this the solution? Or is it a bug (I would say it's a bug)

                                          in reply to: OnPaint cannot contain Application.ProcessMessages (6.53) #41520
                                          HeDiBo
                                          Participant

                                            Serge, Did you have a chance to look at this one? dry.gif

                                          Viewing 20 posts - 1,141 through 1,160 (of 1,174 total)