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)