AC 14.13 BoundLabel gets wrong font

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #38099
    HeDiBo
    Participant

    In design the form looks like this:

    [attachment=9086:ACBLBugATDesignTime.jpg]

    At run time, however, the bound label gets the wrong font:

    [attachment=9087:ACBLBugAtRunTime.jpg]

    This is the project: [attachment=9088:acBoundLabelBug.zip]

    #58853
    HeDiBo
    Participant

    Also the font settings of sSkinProvider.AddedTitle are not honored.

    I think with the changes in scaling these font problem have crept in.

    #58943
    Support
    Keymaster

    Hello

    'HeDiBo' wrote:
    Also the font settings of sSkinProvider.AddedTitle are not honored.

    I think with the changes in scaling these font problem have crept in.

    I think, this issue will be solved in the nearest release.

    #59003
    HeDiBo
    Participant
    'Support' wrote:

    Hello

    I think, this issue will be solved in the nearest release.

    In AC 14.14 things have gone so bad, that I get exceptions in the AC bpl when I start the IDE.

    This is the stack trace:

    Code:
    [1D2FB755]{acntDelphiXE4_R.bpl} sCommonData.TsBoundLabel.HandleOwnerMsg + $C1
    [5005EE12]{rtl180.bpl } System.@IsClass (Line 15664, “System.pas” + 1) + $8
    [1D1C2378]{acntDelphiXE4_R.bpl} sLabel.TsCustomLabel.WndProc + $100
    [19B69F6A]{AlphaDBDelphiXE4.bpl} sDBText.TsDBText.WndProc (Line 200, “sDBText.pas” + 6) + $F
    [50452734]{vcl180.bpl } Vcl.Controls.TControl.Perform (Line 7002, “Vcl.Controls.pas” + 10) + $8
    [504505C5]{vcl180.bpl } Vcl.Controls.TControl.SetBounds (Line 5636, “Vcl.Controls.pas” + 13) + $B
    [5047290C]{vcl180.bpl } Vcl.StdCtrls.TCustomLabel.AdjustBounds (Line 2353, “Vcl.StdCtrls.pas” + 18) + $15
    [50472A94]{vcl180.bpl } Vcl.StdCtrls.TCustomLabel.CMTextChanged (Line 2458, “Vcl.StdCtrls.pas” + 2) + $6
    [50452AF9]{vcl180.bpl } Vcl.Controls.TControl.WndProc (Line 7224, “Vcl.Controls.pas” + 91) + $6
    [50170090]{rtl180.bpl } System.Classes.StdWndProc (Line 16860, “System.Classes.pas” + 8) + $0
    [504576C6]{vcl180.bpl } Vcl.Controls.TWinControl.DefaultHandler (Line 10080, “Vcl.Controls.pas” + 30) + $19
    [1D1C2378]{acntDelphiXE4_R.bpl} sLabel.TsCustomLabel.WndProc + $100
    [19B69F6A]{AlphaDBDelphiXE4.bpl} sDBText.TsDBText.WndProc (Line 200, “sDBText.pas” + 6) + $F
    [19B69F4A]{AlphaDBDelphiXE4.bpl} sDBText.TsDBText.WndProc (Line 198, “sDBText.pas” + 4) + $6
    [50452734]{vcl180.bpl } Vcl.Controls.TControl.Perform (Line 7002, “Vcl.Controls.pas” + 10) + $8
    [50450609]{vcl180.bpl } Vcl.Controls.TControl.SetTextBuf (Line 5649, “Vcl.Controls.pas” + 2) + $B
    [5045125A]{vcl180.bpl } Vcl.Controls.TControl.SetText (Line 6131, “Vcl.Controls.pas” + 8) + $B
    [501274B3]{rtl180.bpl } System.TypInfo.{System.TypInfo}TPropSet.SetProc (Line 2238, “System.TypInfo.pas” + 8) + $5
    [50125D0D]{rtl180.bpl } System.TypInfo.SetStrProp (Line 3107, “System.TypInfo.pas” + 8) + $A
    [504575B5]{vcl180.bpl } Vcl.Controls.TWinControl.WndProc (Line 10039, “Vcl.Controls.pas” + 153) + $6
    [212B3C27]{vclide180.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 361, “IDEInspListBox.pas” + 7) + $4
    [50452734]{vcl180.bpl } Vcl.Controls.TControl.Perform (Line 7002, “Vcl.Controls.pas” + 10) + $8
    [5045274C]{vcl180.bpl } Vcl.Controls.TControl.Perform (Line 7072, “Vcl.Controls.pas” + 1) + $4
    [2111D893]{designide180.bpl} DesignEditors.TPropertyEditor.SetStrValue (Line 860, “DesignEditors.pas” + 4) + $7
    [2111EDC8]{designide180.bpl} DesignEditors.TStringProperty.SetValue (Line 1541, “DesignEditors.pas” + 0) + $0
    [212B4BFB]{vclide180.bpl} IDEInspListBox.TInspListBox.SetPropValue (Line 782, “IDEInspListBox.pas” + 38) + $19
    [212B5992]{vclide180.bpl} IDEInspListBox.TInspListBox.EditKeyPress (Line 1116, “IDEInspListBox.pas” + 25) + $7
    [5045922B]{vcl180.bpl } Vcl.Controls.TWinControl.KeyPress (Line 11121, “Vcl.Controls.pas” + 1) + $16
    [504734DD]{vcl180.bpl } Vcl.StdCtrls.TCustomEdit.KeyPress (Line 2876, “Vcl.StdCtrls.pas” + 1) + $4
    [5045927E]{vcl180.bpl } Vcl.Controls.TWinControl.DoKeyPress (Line 11137, “Vcl.Controls.pas” + 9) + $8
    [504592A6]{vcl180.bpl } Vcl.Controls.TWinControl.WMChar (Line 11176, “Vcl.Controls.pas” + 6) + $4
    [50452AF9]{vcl180.bpl } Vcl.Controls.TControl.WndProc (Line 7224, “Vcl.Controls.pas” + 91) + $6
    [5005F618]{rtl180.bpl } System.TMonitor.Enter (Line 16808, “System.pas” + 4) + $2
    [5042F4BE]{vcl180.bpl } Vcl.Graphics.TCustomCanvas.TryLock (Line 3654, “Vcl.Graphics.pas” + 9) + $5
    [5005F4C4]{rtl180.bpl } System.TMonitor.CheckOwningThread (Line 16730, “System.pas” + 2) + $0
    [5005F79A]{rtl180.bpl } System.TMonitor.Exit (Line 16911, “System.pas” + 1) + $2
    [5005F7EB]{rtl180.bpl } System.TMonitor.Exit (Line 16933, “System.pas” + 2) + $7
    [50434B53]{vcl180.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7047, “Vcl.Graphics.pas” + 12) + $8
    [50456C0D]{vcl180.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9754, “Vcl.Controls.pas” + 6) + $0
    [50170090]{rtl180.bpl } System.Classes.StdWndProc (Line 16860, “System.Classes.pas” + 8) + $0
    [504575B5]{vcl180.bpl } Vcl.Controls.TWinControl.WndProc (Line 10039, “Vcl.Controls.pas” + 153) + $6
    [212B3C27]{vclide180.bpl} IDEInspListBox.TPropInspEdit.WndProc (Line 361, “IDEInspListBox.pas” + 7) + $4
    [50456BF8]{vcl180.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9751, “Vcl.Controls.pas” + 3) + $6
    [50170090]{rtl180.bpl } System.Classes.StdWndProc (Line 16860, “System.Classes.pas” + 8) + $0
    [50580E87]{vcl180.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10288, “Vcl.Forms.pas” + 23) + $1
    [50580ECA]{vcl180.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10318, “Vcl.Forms.pas” + 1) + $4
    [50581205]{vcl180.bpl } Vcl.Forms.TApplication.Run (Line 10456, “Vcl.Forms.pas” + 26) + $3

    At run time the bound label does not show at all anymore.

    It's a mess.

    PS. The test project in this report goes OK now. The problem I'm referring to now is a bound label attached to a TsDBText field.

    #59012
    Support
    Keymaster

    I will check why it doesn't work in the TsDBText and I hope to fix it very soon.

    #59024
    HeDiBo
    Participant
    'Support' wrote:

    I will check why it doesn't work in the TsDBText and I hope to fix it very soon.

    The fix you sent me only made things worse.

    Now, if I activate the bound label, I get an immediate exception in the IDE.

    If I run the project, I get an exception also. This is the stack trace:

    Code:
    sCommonData.TsBoundLabel.UpdateVisibility
    sDBText.TsDBText.Loaded
    System.Classes.NotifyGlobalLoading
    System.Classes.InitInheritedComponent($7D4A6D70,TFrame)
    Vcl.Forms.TCustomFrame.Create(???)
    frPoule.TfrPoolMembers.Create($7D64BAB0)
    Competition.TsTabSheet.GetTabPoolFrame
    Competition.TfrCompetition.pcCompPagesChange($7DE60290)
    Competition.TfrCompetition.VirginStart
    Competition.TfrCompetition.StartFrame((5425, 1, 1, 0, 1, 0, (), 1, 0, (), 0, 0, ()))
    Vcl.Controls.TControl.WndProc((5425, 1, 1, 0, 1, 0, (), 1, 0, (), 0, 0, ()))
    Vcl.Controls.TWinControl.WndProc((5425, 1, 1, 0, 1, 0, (), 1, 0, (), 0, 0, ()))
    sFrameAdapter.TsFrameAdapter.NewWndProc((5425, 1, 1, 0, 1, 0, (), 1, 0, (), 0, 0, ()))
    acSBUtils.TacMainWnd.CallPrevWndProc(3804454,5425,1,1)
    acSBUtils.TacScrollWnd.acWndProc((5425, 1, 1, 0, 1, 0, (), 1, 0, (), 0, 0, ()))
    Vcl.Controls.TControl.Perform(???,???,1)
    WIP4Main.TWIP4MainForm.pcMainTabsChange($7EBDA540)
    WIP4Main.TWIP4MainForm.Wip_Start_Prog((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TControl.WndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TWinControl.WndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Forms.TCustomForm.WndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.NewWndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    acFloatCtrls.TacFloatComponent.NewWndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    acSBUtils.TacMainWnd.CallPrevWndProc(2231582,5424,0,0)
    acSBUtils.TacScrollWnd.acWndProc((5424, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TWinControl.MainWndProc(???)
    System.Classes.StdWndProc(2231582,5424,0,0)
    :76fabf1b ; C:WINDOWSSysWOW64user32.dll
    :76fa83ea ; C:WINDOWSSysWOW64user32.dll
    :76fa7f8a ; C:WINDOWSSysWOW64user32.dll
    :76faa6d9 ; C:WINDOWSSysWOW64user32.dll
    :774ecd3d ntdll.KiUserCallbackDispatcher + 0x4d
    :76f8bc57 ; C:WINDOWSSysWOW64user32.dll
    WIP4Main.TWIP4MainForm.FormPaint($7EBDAF20)
    sSkinProvider.TsSkinProvider.PaintAll
    sSkinProvider.TsSkinProvider.AC_SMAlphaCmd_Skinned((41216, 1507328, 0, 0, 0, 23, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.NewWndProc((41216, 1507328, 0, 0, 0, 23, (), 0, 0, (), 0, 0, ()))
    acFloatCtrls.TacFloatComponent.NewWndProc((41216, 1507328, 0, 0, 0, 23, (), 0, 0, (), 0, 0, ()))
    acSBUtils.TacMainWnd.CallPrevWndProc(2231582,41216,1507328,0)
    acSBUtils.TacScrollWnd.acWndProc((41216, 1507328, 0, 0, 0, 23, (), 0, 0, (), 0, 0, ()))
    sVclUtils.TrySendMessage(2231582,41216,1507328,0)
    sVclUtils.SendAMessage(2231582,23,0)
    acSBUtils.ac_NCDraw($7FE17990,2231582,-1,0)
    acSBUtils.TacScrollWnd.acWndProc((133, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TWinControl.MainWndProc(???)
    System.Classes.StdWndProc(2231582,133,1,0)
    :76fabf1b ; C:WINDOWSSysWOW64user32.dll
    :76fa83ea ; C:WINDOWSSysWOW64user32.dll
    :76fa7f8a ; C:WINDOWSSysWOW64user32.dll
    :76faa6d9 ; C:WINDOWSSysWOW64user32.dll
    :774ecd3d ntdll.KiUserCallbackDispatcher + 0x4d
    Vcl.Controls.TWinControl.MainWndProc(???)
    System.Classes.StdWndProc(2231582,133,1,0)
    :76fabf1b ; C:WINDOWSSysWOW64user32.dll
    :76fa83ea ; C:WINDOWSSysWOW64user32.dll
    :76fa7f8a ; C:WINDOWSSysWOW64user32.dll
    :76faa6d9 ; C:WINDOWSSysWOW64user32.dll
    :774ecd3d ntdll.KiUserCallbackDispatcher + 0x4d
    Vcl.Controls.TControl.WndProc(???)
    Vcl.Controls.TWinControl.WndProc((45081, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Forms.TCustomForm.WndProc((45081, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.AC_CMShowingChanged((45081, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.NewWndProc((45081, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    acFloatCtrls.TacFloatComponent.NewWndProc((45081, 0, 0, 0, 0, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TControl.Perform(???,???,0)
    Vcl.Controls.TWinControl.UpdateShowing
    Vcl.Controls.TWinControl.UpdateControlState
    Vcl.Controls.TWinControl.CMVisibleChanged(???)
    Vcl.Controls.TControl.WndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TWinControl.WndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Forms.TCustomForm.WndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.AC_WMVisibleChanged((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    sSkinProvider.TsSkinProvider.NewWndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    acFloatCtrls.TacFloatComponent.NewWndProc((45067, 1, 0, 0, 1, 0, (), 0, 0, (), 0, 0, ()))
    Vcl.Controls.TControl.Perform(???,???,0)
    Vcl.Controls.TControl.SetVisible(True)
    Vcl.Forms.TCustomForm.SetVisible(True)
    Vcl.Forms.TApplication.Run
    WIP4.WIP4
    :76308484 KERNEL32.BaseThreadInitThunk + 0x24
    :774e3ab8 ntdll.RtlAreBitsSet + 0x88
    :774e3a88 ntdll.RtlAreBitsSet + 0x58

    The TsDSBText is placed on a TFrame, which is created dynamically (the stack trace line: “frPoule.TfrPoolMembers.Create”).

    Not much happens thereafter, the exception occurs in the Loaded procedure of the TsDBText.

    The exception is in sCommonData, in this line:

    Code:
    if (FCommonData.SkinManager = nil) or (FCommonData.SkinManager.Options.ScaleMode in [smOldMode, smVCL]) then
    FTheLabel.Font.Height := ScaleInt(FTheLabel.Font.Height, FCommonData);

    It appears FCommonData is nil in this case.

    #59027
    Support
    Keymaster

    Hello!

    I see the error, this error will be fixed in the new release on this week.

    #59053
    HeDiBo
    Participant
    'Support' wrote:

    Hello!

    I see the error, this error will be fixed in the new release on this week.

    In 14.15 all's fine now a3.gif

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