Hi all

Uploaded RadASM06152002.zip

-Minor bug fixes
-Added string table resource
-Fixed vkim's debug tool

Posted on 2002-06-15 06:22:59 by KetilO
IS this
Update from RadASM (06-15-2002) (RadASM06152002.zip 128Kb)

must Updata from means if some one using can't be updata or means can updata both


Posted on 2002-06-15 06:27:44 by Const.Ex
Hi Const.Ex

You can update from
I'll fix it on my hompage.

Thanks for notifying me.

Posted on 2002-06-15 06:32:28 by KetilO
I found this is != some days ago in forum....

bye the way,today I draged the tools bar and I can't drag it back for along time,Close the RadASM an reopen it,The toolsbox is always floating in screen......
At lease when I click the toolwin's "close" button and it come back to it posstion.
It's takes me 2 hours in drag~~~~
Posted on 2002-06-15 06:39:03 by Const.Ex
Hi Const.Ex

You are not the first one having trouble with floating window. :grin:

Posted on 2002-06-15 06:42:26 by KetilO
Sorry KetilO, it's still there :(

Also I've got a little question about the plugin interface. I know about GetWordFromPos, but is there any way to access the letter just before the word? Maybe GetWordFromPos could return the position of the word?
Posted on 2002-06-15 13:37:34 by Qweerdy
Hi Qweerdy

Does it always happend? I am not able to get this bug to show. Is it a paint problem? Try clicking on the area where the scrollbar should be.

There is no function to return the word before the word the caret is on. You will have to code it yourself.

EM_EXGETSEL, EM_EXSETSEL and EM_GETSELTEXT should be what you need.

Posted on 2002-06-15 17:01:59 by KetilO
:confused: Strange, it *always* happens with me... any file type and window size. Then when I resize the window the scrollbar appears again.
It does not seem to be a paint problem, the text cursor is displayed in the scrollbar area and clicking has the effect it should have when there is no scrollbar.
And yes, I do have the latest version (downloaded from your all new webpage... that *is* the latest version, isn't it?). v
Also, scrolling with arrow keys, PgUp/PgDn, and mousewheel works just fine, but does not make the scrollbars show.

About the other thing, I'm not trying to get the word before the selection, just the character. I asked because I was hoping maybe you could give me some code to work with, since you seem to have the most important part working already.
More specifically, I need to know if there was a period in front of the current word to distinguish between "IF" and ".IF", for the help addin I have begun work on again. It's already working very nicely with a 600kb database containing keywords which point to the correct helpfiles. Meaning you can have one help key for context-sensitive help on Mnemonics, API's, and anything else you can think of.
Posted on 2002-06-16 04:58:44 by Qweerdy
Hi Qweerdy

Yes, you have the latest version. The scrollbar problem is exactly the problem I thought I had fixed. Strange, it has not happened to me since I fixed it. I will have to browse through my code and see if I can find anything.

Give me a little time and I will post a code snipplet here that gets the char in front of the word.

Posted on 2002-06-16 05:57:32 by KetilO
Hi Qwerdy

Here is the code to get the char in front of selected word.
;Get the selection

invoke SendMessage,hEdt,EM_EXGETSEL,0,addr chrg
;Get line number
invoke SendMessage,hEdt,EM_LINEFROMCHAR,chrg.cpMin,0
;Get character index of first char on the line
invoke SendMessage,hEdt,EM_LINEINDEX,eax,0
;Get the lines text up to the caret
mov chrg.cpMin,eax
invoke SendMessage,hEdt,EM_EXSETSEL,0,addr chrg
invoke SendMessage,hEdt,EM_GETSELTEXT,0,addr buffer
;Scan the buffer backwards
lea edx,buffer
mov ecx,edx
add edx,chrg.cpMax
sub edx,chrg.cpMin
;Get number of chars in buffer
sub ecx,edx
mov al,[edx]
.if (al>='0' && al<='9') || (al>='A' && al<='Z') || (al>='a' && al<='z')
dec edx
dec ecx
jne @b
;The caret was on first word of the line
xor al,al
;Restore selection
push eax
mov eax,chrg.cpMax
mov chrg.cpMin,eax
invoke SendMessage,hEdt,EM_EXSETSEL,0,addr chrg
pop eax
;Al contains the char

The code has not been tested.

Your addin sounds promising. :alright:

Posted on 2002-06-16 06:40:56 by KetilO
Thanks... I won't be able to work on it next week at all though (exams :( ) but after that my summer vacation starts so I should be able to find some time to finish it up ;)
Posted on 2002-06-16 07:25:34 by Qweerdy
another question about plugin .

does radasm send AIM_EDITOPEN if the user dont open the edit.
i mean lets say the user opens two edit window .
every move between them radasm sends AIM_EDITOPEN?

Posted on 2002-06-16 09:19:53 by eko
Hi eko

RadASM only sends AIM_EDITOPEN when a new edit window is opened (Intended for hooking).
Addin handles struct contains the handle (hEdit) of the active edit window. hEdit is NULL if the topmost window is not an editwindow or if no edit windows are open.

Posted on 2002-06-16 09:32:44 by KetilO
Hi all

The scrollbar problem reported by Qwerdy turned out to be a xp problem. I have uploaded a new bugfix.

Posted on 2002-06-16 09:39:40 by KetilO
radasm sends AIM_MDIACTIVATE every move between the windows ?
Posted on 2002-06-16 09:44:45 by eko
Hi eko

Yes it does, and also when a new window is opened.

Posted on 2002-06-16 09:47:17 by KetilO
i notice that when you open a new window . and this new window is edit .

radasm sends AIM_MDIACTIVATE but doesnt fill
is it right?
Posted on 2002-06-16 10:27:26 by eko
Hi eko

Yes, hEdit is set right after AIM_MDIACTIVATE.
The handle of the edit can be retrived by:

invoke GetWindowLong,hWin,GWL_USERDATA

Posted on 2002-06-16 11:46:37 by KetilO
how can i know when the user is writing something on the richeditbox?

WM_SETTEXT? or something else

another question how can i know how many visible lines there are every scroll? or "window resizing"?


Posted on 2002-06-17 09:47:08 by eko
Hi eko

RadASM sends AIM_EDITSELCHANGE when something has happend in the richedit. For the other questions M$ has described it better than I can do. See the MSDN library or the Platform SDK.

Posted on 2002-06-17 11:24:57 by KetilO