Results 1 to 2 of 2

Thread: Struct Padding - Example 1

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2009
    Location
    Dunedin, New Zealand
    Posts
    533

    Post Struct Padding - Example 1

    Trying to educate myself Struct Alignment.
    Are the following struct definitions identical, provided they are not used for external calls or are a replacement for the old TYPE?
    ie. Can be reordered.

    Reordered Struct
    Code:
    Struct tWinChooseFont: 8x 8
       // Length 8 data types
       Handle hwndOwner    Handle hDC
       Handle hInstance
       Pointer lpLogFont
       Pointer lpfnHook
       Pointer lpTemplateName
       Pointer lpszStyle
       Longptr lCustData
       // length 4 8 datatypes: 8 x 4
       DWord lStructSize
       DWord Flags
       DWord rgbColors
       Integer iPointSize
       Integer nSizeMin
       Integer nSizeMax
       Short nFontType
      #IFDEF IS$WIN64
          Short nMissingAlignment
       #ENDIF
    End_Struct
    Original ex Twinstruct.pkg
    Code:
     DWord lStructSize
    #IFDEF IS$WIN64
        Integer tWinChooseFontMissingAlignment1
    #ENDIF
        Handle hwndOwner
        Handle hDC
        Pointer lpLogFont
        Integer iPointSize
        DWord Flags
        DWord rgbColors
    #IFDEF IS$WIN64
        Integer tWinChooseFontMissingAlignment2
    #ENDIF
        Longptr lCustData
        Pointer lpfnHook
        Pointer lpTemplateName
        Handle hInstance
        Pointer lpszStyle
        Short nFontType
        Short nMissingAlignment
        Integer nSizeMin
        Integer nSizeMax
    #IFDEF IS$WIN64
        Integer tWinChooseFontMissingAlignment3
    #ENDIF
    End_Struct
    Last edited by Russell McDougall; 15-Dec-2019 at 10:28 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •