tmorris

Forum Replies Created

Viewing 20 posts - 1 through 20 (of 22 total)
  • Author
    Posts
  • in reply to: More Issues With sDBNavigator v9.17 #52781
    tmorris
    Participant

    This is the source of the problem. It is related to hints. The other array for which you moved the initialization code:

    procedure TsDBNavigator.SetHints(Value: TStrings);

    begin

    if Value.Text = FDefHints.Text then

    FHints.Clear

    else

    FHints.Assign(Value);

    end;

    There are situations where a nil pointer is being passed as “Value” at design time. The modification below fixed it for me.

    procedure TsDBNavigator.SetHints(Value: TStrings);

    begin

    if value <> nil then

    begin

    if Value.Text = FDefHints.Text then

    FHints.Clear

    else

    FHints.Assign(Value);

    end;

    end;

    I am using XE6.

    in reply to: More Issues With sDBNavigator v9.17 #52779
    tmorris
    Participant
    'Support' wrote:

    Hello!

    Try this patched file, please.

    Sorry. Does not fix the problem. Did you try the example project I uploaded?

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52703
    tmorris
    Participant
    'Support' wrote:

    Thank you for the demo, try this patched file, please.

    Yes that works. Thanks.

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52690
    tmorris
    Participant

    I'm sorry. Spoke too soon. There is still an issue of the buttons array being referenced before being created. Attached is an example of a sDBNavigator not visible but attached to a dataset. It is on the second tabsheet. Pressing insert record triggers the dataset to tell all the attached controls to update. However since the 'hidden' sDBnavigator has not been initialized (buttons/hints?) it throws an AV. The AV is thrown in the TsDBNavigator.EditingChanged procedure.

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52674
    tmorris
    Participant

    Just confirming. Above issues appear to be resolved in v9.17. Thanks!

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52607
    tmorris
    Participant

    Also, just an annoyance with the sDBNavigator unit. Is it necessary to explicitly load the DBCtrls.res resource? I keep getting duplicate resource warnings with this in there:

    {$IFDEF DELPHI_XE2}

    {$R DBCtrls.res}

    {$ENDIF}

    I know it was added when the code for using the vanilla button icons was added. I guess there might be cases where they are not loaded and then need to be loaded explicitly?

    Thanks.

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52606
    tmorris
    Participant
    'tmorris' wrote:

    Also ran into the same issue where the button array of objects are not initialized in the DataChanged procedure. Attached is a demo of where the dataset datachanged event is triggering before the buttons are initialized in the CreateWnd procedure. It throws an AV.

    You might want to check all the code in sDBNavigator that references the Buttons array (now that it has been moved out of the navigator object's Create constructor ) and make sure that procedures that might be invoked prior to the CreateWnd procedures are not referencing null objects.

    Good luck!

    (Sorry, keep forgetting to hit attach.)

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52605
    tmorris
    Participant
    'Support' wrote:

    Hello, thank you for the message.

    Try attached file, the error is fixed there.

    Also ran into the same issue where the button array of objects are not initialized in the DataChanged procedure. Attached is a demo of where the dataset datachanged event is triggering before the buttons are initialized in the CreateWnd procedure. It throws an AV.

    You might want to check all the code in sDBNavigator that references the Buttons array (now that it has been moved out of the navigator object's Create constructor ) and make sure that procedures that might be invoked prior to the CreateWnd procedures are not referencing null objects.

    Good luck!

    in reply to: AV When Using sDBNavigator With Custom Buttons, v9.16 #52604
    tmorris
    Participant

    Thanks. That fixed that issue. However it looks like you have the same issue with the InitHints procedure. If any of the button hints are changed from default you get an AV in the InitHints as the buttons array has not yet been initialized.

    in reply to: Possible Corrupted Glyphs in sDBNavigator, XE6 Only. #52367
    tmorris
    Participant
    'tmorris' wrote:

    Spoke too soon. Seeing the same glitch with the next button on a different project. Not able to pinpoint what is different but will investigate some more.

    Attached is a demo. It appears that rendering the glyphs when there are active records exposes the problem.

    in reply to: Possible Corrupted Glyphs in sDBNavigator, XE6 Only. #52366
    tmorris
    Participant

    Spoke too soon. Seeing the same glitch with the next button on a different project. Not able to pinpoint what is different but will investigate some more.

    in reply to: Possible Corrupted Glyphs in sDBNavigator, XE6 Only. #52365
    tmorris
    Participant

    There is still an issue with the Insert/'+' glyph. It appears to 'wrap-around'. You can still see this behavior in the test project I uploaded earlier.

    I modified the sDBRes.res file and increased the width from 13 to 15, re-centered the 'plus'. Not sure this is the best fix but it appears to work.

    IPSteven: I tried to test your situation but could not duplicate the issue. It looks fine for me with both those skins.

    Using:

    9.13, 32-bit, XE6, Win7-64bit.

    in reply to: Possible Corrupted Glyphs in sDBNavigator, XE6 Only. #52227
    tmorris
    Participant
    'tmorris' wrote:

    Attached is a small demo that shows corrupted glyphs (3) on the sDBNavigator. Happens only in XE6 when connected to an active dataset. XE5 is fine. Also does not matter if the skin manager is present or not. Please verify if you see the same behavior. I have not had a chance to test on a fresh install that only has XE6 installed.

    I may have found the issue. I noticed your glyphs in the resource file are 4-bit. However in the TsDBNavigator.InitButtons procedure you set the PixelFormat to 24 bit:

    Btn.Glyph.PixelFormat := pf24bit;

    Changing it to match the actual glyph format appears to fix the issue:

    Btn.Glyph.PixelFormat := pf4bit;

    in reply to: Possible Corrupted Glyphs in sDBNavigator, XE6 Only. #52225
    tmorris
    Participant

    Re-posting attachment.

    in reply to: DevExpress VCL 13.2.2 Breaking Changes #51510
    tmorris
    Participant

    That fixed it. Thanks.

    in reply to: DevExpress VCL 13.2.2 Breaking Changes #51462
    tmorris
    Participant
    'tmorris' wrote:

    Just got around to testing the posted acLFPainter unit. There is still a small problem. Easily fixed. There is one more missing parameter:

    APart: TcxButtonPart = cxbpButton

    So the DrawButton declaration should look like this:

    procedure DrawButton(ACanvas: TcxCanvas; R: TRect; const ACaption: string; AState: TcxButtonState;

    ADrawBorder: Boolean = True; AColor: TColor = clDefault; ATextColor: TColor = clDefault;

    AWordWrap: Boolean = False; AIsToolButton: Boolean = False; APart: TcxButtonPart = cxbpButton); override;

    This matchs up with what is in the VCL 13.2.2 cxLookAndFeelPainters.pas

    Works fine otherwise.

    **Update**

    My mistake. You have the missing parameter. The problem is with the complier directives. The parameter is being ignored because the

    directive: “{$IFNDEF VER12_2_3}”. I think this has to do with the versioning issue I mentioned earlier.

    in reply to: DevExpress VCL 13.2.2 Breaking Changes #51448
    tmorris
    Participant

    Just got around to testing the posted acLFPainter unit. There is still a small problem. Easily fixed. There is one more missing parameter:

    APart: TcxButtonPart = cxbpButton

    So the DrawButton declaration should look like this:

    procedure DrawButton(ACanvas: TcxCanvas; R: TRect; const ACaption: string; AState: TcxButtonState;

    ADrawBorder: Boolean = True; AColor: TColor = clDefault; ATextColor: TColor = clDefault;

    AWordWrap: Boolean = False; AIsToolButton: Boolean = False; APart: TcxButtonPart = cxbpButton); override;

    This matchs up with what is in the VCL 13.2.2 cxLookAndFeelPainters.pas

    Works fine otherwise.

    in reply to: DevExpress VCL 13.2.2 Breaking Changes #51372
    tmorris
    Participant

    Thanks for the quick fix! I just wanted to make sure the fix got into the next build. One note, you might want to double check the version naming in the acLFPainter for the compiler directives. DevExpress VCL is currently at 2013.2.2 not 2012.2.2.

    in reply to: Issue Skinning Tabs in CxGrid #50635
    tmorris
    Participant

    File Attached.

    in reply to: AlphaImageList in delphi XE3 #50281
    tmorris
    Participant

    [attachment=6247:ActionList Issue.zip]

    'Support' wrote:

    Hello!

    Can you show a demo with sources, please?

    I too have the issue. Attached is an example. Double click on the actionlist to try to bring up the editor in design mode.

Viewing 20 posts - 1 through 20 (of 22 total)