The MASM Forum Archive 2004 to 2012

Project Support Forums => IDE Development and Support => RadAsm Support Forum => Topic started by: Biterider on October 02, 2009, 09:43:41 AM

Title: New structures
Post by: Biterider on October 02, 2009, 09:43:41 AM
Hi Ketilo
Where can I obtain the most recent structure definitions for RA addins, like RAEdit.inc (and other relevant files)?
I think something has changed in the last releases, since i'm getting wrong values from procs that were ok in the past.

Regards,

Biterider
Title: Re: New structures
Post by: Biterider on October 03, 2009, 05:34:44 PM
Hi KetilO
I compared the OA32 Addin working on 2 different versions of RA.
The content of the EDIT.fntinfo structure seems to be OK using RA 2.2.1.3
[eax].EDIT.fntinfo.charset = -1123416300t
[eax].EDIT.fntinfo.fDBCS = 0t
[eax].EDIT.fntinfo.fntwt = 0t
[eax].EDIT.fntinfo.fntht = 7t
[eax].EDIT.fntinfo.spcwt = 12t
[eax].EDIT.fntinfo.tabwt = 7t
[eax].EDIT.fntinfo.italic = 14t
[eax].EDIT.fntinfo.monospace = 0t
[eax].EDIT.fntinfo.linespace = 1t

while using the newer RA 2.2.1.6 is
[eax].EDIT.fntinfo.charset = 1460669839t
[eax].EDIT.fntinfo.fDBCS = -1894772360t
[eax].EDIT.fntinfo.fntwt = 1882198215t
[eax].EDIT.fntinfo.fntht = 2t
[eax].EDIT.fntinfo.spcwt = 1141511313t
[eax].EDIT.fntinfo.tabwt = -871756590t
[eax].EDIT.fntinfo.italic = -485882281t
[eax].EDIT.fntinfo.monospace = 0t
[eax].EDIT.fntinfo.linespace = 0t

which looks pretty insane
I get eax using
invoke GetWindowLong, hWnd, 0
with hWnd = Editor hWnd

Regards,

Biterider
Title: Re: New structures
Post by: KetilO on October 03, 2009, 09:32:43 PM
Hi Biterider

The EDIT structure has a new member

The new member:
hlock       dd ?        ;Handle of lock button


EDIT struct
    hwnd        dd ?        ;Handle of main window
    fstyle      dd ?        ;Window style
    ID          dd ?        ;Window ID
    hpar        dd ?        ;Handle of parent window
    edta        RAEDT <>
    edtb        RAEDT <>
    hhscroll    dd ?        ;Handle of horizontal scrollbar
    hgrip       dd ?        ;Handle of sizegrip
    hnogrip     dd ?        ;Handle of nosizegrip
    hsbtn       dd ?        ;Handle of splitt button
    hlin        dd ?        ;Handle of linenumber button
    hexp        dd ?        ;Handle of expand button
    hcol        dd ?        ;Handle of collapse button
    hlock       dd ?        ;Handle of lock button
    hsta        dd ?        ;Handle of state window
    htt         dd ?        ;Handle of tooltip
    fresize     dd ?        ;Resize in action flag
    fsplitt     dd ?        ;Splitt factor
    nsplitt     dd ?        ;Splitt height

    hHeap       dd 3 dup(?) ;Handle of heap
    hLine       dd ?        ;Handle of line pointer mem
    cbLine      dd ?        ;Size of line pointer mem
    rpLine      dd ?        ;Relative pointer into line pointer mem
    rpLineFree  dd ?        ;Pointer to free line pointer
    hChars      dd ?        ;Handle of character mem
    cbChars     dd ?        ;Size of character mem
    rpChars     dd ?        ;Relative pointer into character mem
    rpCharsFree dd ?        ;Relative pointer to free character
    hUndo       dd ?        ;Handle of undo memory
    cbUndo      dd ?        ;Size of undo memory
    rpUndo      dd ?        ;Relative pointer to free (last)
    line        dd ?        ;Linenumber
    cpLine      dd ?        ;Character position for start of line

    rc          RECT <?>    ;Main rect
    selbarwt    dd ?        ;Width of selection bar
    nlinenrwt   dd ?        ;Initial width of linenumber bar
    linenrwt    dd ?        ;Width of linenumber bar
    nScroll     dd ?        ;Mouse wheel scroll lines
    nPageBreak  dd ?        ;Page break
    cpMin       dd ?        ;Selection min
    cpMax       dd ?        ;Selection max
    fOvr        dd ?        ;Insert / Overwrite
    nHidden     dd ?        ;Number of hidden lines
    cpx         dd ?        ;Scroll position
    focus       dd ?        ;Handle of edit having focus
    fCaretHide  dd ?        ;Caret is hidden
    fChanged    dd ?        ;Content changed
    fHideSel    dd ?        ;Hide selection
    fIndent     dd ?        ;Auto indent
    clr         RACOLOR <?>
    br          RABRUSH <?>
    nTab        dd ?        ;Tab size
    fnt         RAFONT <?>
    fntinfo     RAFONTINFO <?>
    lpBmCB      dd ?        ;Bookmark paint callback
    nchange     dd ?        ;Used by EN_SELCHANGE
    nlastchange dd ?        ;Used by EN_SELCHANGE
    nWordGroup  dd ?        ;Hilite word group
    fExpandTab  dd ?        ;TRUE/FALSE Epand tabs to spaces
    savesel     CHARRANGE <?>
    htlt        dd ?        ;Scroll tooltip
    nMode       dd ?        ;Block selection
    blrg        BLOCKRANGE <?>
    lockundoid  dd ?
    ccmntblocks dd ?
    cpbrst      dd ?
    cpbren      dd ?
    cpselbar    dd ?
    fLock       dd ?
    nCursorWordType dd ?
    fstyleex    dd ?
    funicode    dd ?
    fhilite     dd ?
    lastline    dd ?
EDIT ends


You can find my sources at:
https://fbedit.svn.sourceforge.net/svnroot/fbedit/

KetilO
Title: Re: New structures
Post by: Biterider on October 04, 2009, 05:52:16 AM
Hi Ketil
Thanks for your replay. Can you tell me with what RA version did you introduce the change? I have to manage it to switch between the 2 structures for users using older versions of RA.

Maybe it is a good idea if you add new structure members always at the end of them preventing the break of existing SW.

Best regards,

Biterider
Title: Re: New structures
Post by: KetilO on October 04, 2009, 07:29:59 PM
Hi Biterider

It was added by denise_amiga on 2007-05-27, version 1.1.0.8

KetilO
Title: Re: New structures
Post by: Biterider on October 06, 2009, 08:42:02 AM
Hi Ketil
I solved my OA32 Addin problem.
I'm showing now additional information (coding hints) in the output window #3, but it hides too fast to read all the window content. I need to change programmatically this timeout value. Is there any way to do it?

Regards,

Biterider
Title: Re: New structures
Post by: KetilO on October 07, 2009, 06:24:10 AM
Hi Biterider

The FlipCase addin controls the hiding of the output window. You can find the sources at Sourceforge.

KetilO