It would be nice to see "Rename file" option from project brouser.
Sometimes I accidently give bad names for modules.
To rename it I need
1. to remove it from project
2. to rename it somewhere else in some file manager
3. to add in back to the project

It would be nice to do it right in the project brouser.

ALso my old request for snippets window - it would be nice if it possible to create folders right in the snippet brouser.
Posted on 2004-12-27 12:31:56 by The Svin
Hi all

New upload

o Renaming of a projects file (treeview label edit).
o Optional Notification if an open file is changed outside the editor.

KetilO
Posted on 2004-12-28 12:03:22 by KetilO
Thank you.
Posted on 2004-12-28 14:48:19 by The Svin
About "File notify change" feature.
RadAsm doesn't differ its own changing - for example alt-F8 sets breakpoints, I quess RadAsm itself inserts text to the file, then it doesn't counted its own changes comparing file with what is in its window and reporting about "file changes" that were actually done by itself.
Whenever I set breakpoints in RadAsm I can see those "file change" messages before compiling.
Posted on 2004-12-29 18:38:10 by The Svin
Hi The Svin

Yes, breakpoints temporay modify the sources. I will have to find a workaround.

KetilO
Posted on 2004-12-30 07:05:57 by KetilO
Hi

The problem was solved in RADbg.dll
You can download the whole package or just the RadASM2106.zip

KetilO
Posted on 2004-12-30 08:36:55 by KetilO
Thank you. Now it works just fine.
Posted on 2004-12-30 09:49:34 by The Svin
Hi all

New upload.

Another bug has been found.
Unchecking Auto Load on project context menu did not work.

KetilO
Posted on 2004-12-30 15:47:25 by KetilO
Sorry for bothering here, but the RA forum seems to be down right now (404).

Module name: RADASM.EXE (RadASM version 2.1.0.6)

Windows 98 A
Exception code: C0000005h
EXCEPTION_ACCESS_VIOLATION
Instruction pointer: 0041998Fh

Registers:
eax=00000000h ebx=006DFCE0h ecx=00000010h
edx=00000000h esi=00446130h edi=004F65A5h
ebp=006DF318h esp=006DF0DCh eip=0041998Fh

Segment registers:
CS=0167h DS=016Fh SS=016Fh
ES=016Fh FS=19FFh GS=0000h

Flags: IF

Stack:
006DFC94 004F65A5 00000000 006DF128
002DDD1C 84A0C2C8 00000020 BFF7A3A0
81705000 84A0C2E8 002DDD1C 00000000
8170500C 81705000 84A0C2C8 00000040


-> while opening a dialog created under 2.1.0.5b.

Anyway and as always - great work :)

// Just noticed: other project files cannot be opened at all (anyway - they are not displayed).
Posted on 2005-01-03 11:54:55 by MikaelC
Thanks Mikael

There were several bugs related to win95,98 and me.
You can download the complete package or just the bugtest.

KetilO
Posted on 2005-01-03 17:00:28 by KetilO
Hey KatilO,

not really a bug report, but a slight suggestion,
can RadASM have an option to select text verticly as well (without select the entire text row)?
i find it very usefull in MultiEdit, but haven't seen it in other text editors.
ts a very powerful option for an editor.

thanks
-Wizzra
Posted on 2005-01-04 01:08:03 by wizzra
Hi wizzra

Yes it would be very nice. I will see what I can do.

KetilO
Posted on 2005-01-04 01:34:41 by KetilO
Hi Ketil,

it's been long since I posted a bug report so it's about time :D
i have the following:

<one macro>

<one prototype>

<one procedure>

All in the same source file.

The thing is, the procedure is not listed among others from the same project. If macro is removed, everything is fine.

Later
Posted on 2005-01-04 09:22:13 by Milos
Thanks Milos

New upload.
You can download the whole package or just the RadASM2106.zip

KetilO
Posted on 2005-01-05 02:17:27 by KetilO
Hello KetiO, its been a while since I've been back to add my comments to your IDE. To be honest I tend not to upgrade it too often because it works so well as it is.

However, reciently I've been getting annoyed with having to continously hunt around for source fragements that operate under macros. This is because your Properties window suports only native MASM directives ($ proc, ? endp, $ macro, ? endm) etc. I realized this as I was trying to define 'MacroName $,MacroNameEnd' under the "CODE" catagory.

What i would *abosultely love to see* is the ability to define extra property catagories. As it stands now, there is "CODE / CONSTANTS / DATA / MESSAGES / MACRO / STRUCTURES". For my work RadASM would truely be RAD if it could filter out two more catagories: METHODS and OBJECTS.

Attached is a sample include that would be typical for the work I'm up to:
; =================================================================================================

; Title: Icz_Demo8.inc
; Author: J. Trudgen (NaN) ~ December 2004.
; Version: 1.0.0
; Purpose: To demonstrate Iczelions tutorial No.8 with OA32.
; =================================================================================================

Object Icz_Demo8, 10001, SdiApp
RedefineMethod Startup
RedefineMethod Init
StaticMethod OnCommand, dword, dword
Event OnCommand, WM_COMMAND
ObjectEnd

.code
; =================================================================================================
; Icz_Demo8 implementation
; =================================================================================================

; ?????????????????????????????????????????????????????????????????????????????????????????????????
; Method: Icz_Demo8.Startup
; Purpose: Registers the object class with the OS when the ObjectsInit macro is executed.
; This mirrors Iczelions "WinMain" proceedure up to RegisterClassEx.
; Arguments: None.
; Return: Nothing.

Method Icz_Demo8.Startup
local WC:WNDCLASSEX

mov WC.cbSize, sizeof WNDCLASSEX
mov WC.style, CS_VREDRAW or CS_HREDRAW
m2m WC.lpfnWndProc, $MethodAddr(Icz_Demo8.WndProc)
mov WC.cbClsExtra, NULL
mov WC.cbWndExtra, NULL
m2m WC.hInstance, hInstance
mov WC.hbrBackground, COLOR_WINDOW+1
mov WC.lpszMenuName, offset szIcz_Menu
mov WC.lpszClassName, offset szIcz_Demo8
mov WC.hIcon, $invoke(LoadIcon,NULL,IDI_APPLICATION)
mov WC.hIconSm, 0
mov WC.hCursor, $invoke(LoadCursor, NULL, IDC_ARROW)

invoke RegisterClassEx, addr WC
MethodEnd

; ?????????????????????????????????????????????????????????????????????????????????????????????????
; Method: Icz_Demo8.Init
; Purpose: Initalizes the SDI application object, when an instance is created.
; This mirrors Iczwlions "WinMain" proceedure (mid section)
; Note: The inherited "Run" method from SdiApp is equivalent to the last message loop
; section in Iczelions "WinMain". So we need not redefine this method, we will simply
; reuse the source as provided.
; Arguments: None.
; Return: Nothing.

Method Icz_Demo8.Init, uses esi
SetObject esi

invoke CreateWindowEx, NULL, offset szIcz_Demo8, offset szAppTitle, \
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, \
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL, \
hInstance, esi

invoke ShowWindow, [esi].hWnd, SW_SHOWNORMAL
invoke UpdateWindow, [esi].hWnd
MethodEnd
; ?????????????????????????????????????????????????????????????????????????????????????????????????
; Method: Icz_Demo8.OnCommand
; Purpose: Event procedure for WM_COMMAND message.
; Arguments: Arg1: First message parameter.
; Arg2: Second message parameter.
; Return: Zero if handled.

Method Icz_Demo8.OnCommand, uses esi, wParam:dword, lParam:dword
local ReturnVal:dword

SetObject esi

xor eax, eax
mov ReturnVal, eax

LoWord( wParam )
Switch eax
Case IDM_TEST
@invoke MessageBox, NULL, "You selected Test menu item", offset szAppTitle, MB_OK

Case IDM_HELLO
@invoke MessageBox, NULL, "Hello, my friend", offset szAppTitle, MB_OK

Case IDM_GOODBYE
@invoke MessageBox, NULL, "See you again, bye", offset szAppTitle, MB_OK

Case IDM_EXIT
@invoke DestroyWindow, [esi].hWnd

Default
inc ReturnVal

endsw
mov eax, ReturnVal

MethodEnd


So far, i have been able to tweek Radasm to collapse methods and objects, as well as define template macros for their keywords. However, being able to locate a method from your properties browser is just not giving an inch (I was trying to see if Objects can squeeze into the Structures catagory, and Methods in the Code catagory ~ But unique catagoies would be best!)
Posted on 2005-01-06 22:36:55 by NaN
If it helps you understand what I've been doing, below is the changes I've made to my MASM.INI:
(CodeMacro]

;KeyWord,InsertBeforeActiveLine,InsertAfterActiveLine
;{I}=Copy indent from keyword line
;{C}=Cr
;{S}=Space
;{T}=Tab
;{$}=Copy Proc/Struct Name
;The macros are set up to assume AutoIndent on
1=.if,{T},{C}{I}.endif
2=.else,{T},
3=.elseif,{T},
4=.while,{T},{C}{I}.endw
5=$ macro,{T},{C}{I}endm
6=$ proc,{T}{C}{I}{T},{C}{I}{T}ret{C}{C}{I}{$} endp
7=$ struct,{T},{C}{I}{$} ends
8=$ struc,{T},{C}{I}{$} ends
9=$ Method,{I}{T}SetObject EDX{C}{I}{T},{C}{I}MethodEnd
10=$ Object,{I}{T},{C}{I}ObjectEnd

(code]
Skip={C},option
Code=? endp,$ proc
Const={C},$ equ,$ =,$ textequ
Data={C},$ db,$ dw,$ dd,$ dq,$ df,$ dt,$ byte,$ word,$ dword,$ qword,$ real4,$ real8
Macro=endm,$ macro
Struct=? ends,$ struct,$ struc
Local={C},local $

[CodeBlock]
1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=$ struct,? ends,,,6
5=$ struc,? ends,,,6
6=$ macro,endm,,,14
7=.data,,,,16
8=.data?,,,,16
9=.const,,,,16
10=Method,MethodEnd,,,6
11=Object,ObjectEnd,,,4
12=BEGIN,END,,,0
13=Switch,endsw,Case,Default,0
14=;##\,;##/,,,4

[Api]
Trig=invoke,call,@invoke,func(,$invoke(
Call=Masm\masmApiCall.api
Const=Masm\masmApiConst.api
Struct=Masm\masmApiStruct.api
Word=Masm\masmApiWord.api
Message=Masm\masmMessage.api
Inc=include
Lib=includelib

[Color]
UseColor=1
DivLine=1
NoFlicker=0
Back=0
Fore=12632256
SelBack=10485760
SelText=16777215
HiLine1=3223857
HiLine2=16744576
HiLine3=12632304
Bar=16320109
BarPen=8421504
LnrFontColor=4259584
Cmnt=8421504
Str=8421631
Oper=12632256
C0=16744576
C1=4227072
C2=16075274
C3=8421440
C4=8421440
C5=11184640
C6=16776960
C7=12615808
C8=23315968
C9=6538752
C10=281647414
C11=16711680
C12=16711680
C13=11184640
C14=11184640
C15=11184640
Output=12615808
Project=12615808
Property=12615808
Dialog=8421376
CustColors=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Outputtext=0
Projecttext=0
Propertytext=0


I added @invoke to the API triggers. I also am giving up my color selections as a suggestion to update your distribution package. No offense but I find the default color scheme pretty wild on the eyes ;) . My suggest scheme is uses softer colors on a black background (more XP like i guess, but that was not the intent).

BTW: To share my idea, the CodeBlock item #14 is quite handy and easy to include in your package if you want it. With it I can define blocks of code that I dont want to stare at and collapse it & provide a short comment:


;##\ Savage Calculations
xor eax, eax
...
fstp QWORD PTR [edx]
;##/

When collapsed, it will look like:


;##\ Savage Calculations



Anyways, thanks for your audience. Keep up the great work!
Regards,
:NaN:
Posted on 2005-01-06 22:55:48 by NaN
Hi NaN

Shure, should not be too hard to make it general and useful for other assemblers than masm.
Look out for a 2.1.0.7 bugtest.

KetilO
Posted on 2005-01-07 09:20:12 by KetilO
Another suggestion:

If you noticed in my above post from masm.ini, the collaping definition for .code was removed. I did so because it tends to compete with other collapsing blocks. Here is my problem:

I want to collapse all and then selectively open certain methods:

(1) Hit collapse all
(2) Open the code block that collapesed with everything else
(3) Back to where i started, as the .code will automatically open all other sub blocks.
(4) Goto 1, until you decide to remove it from 'masm.ini'

As you can tell, the solution i found was to just remove it. Perhaps this could be a editor parameter (check box) to control if you want all blocks to expand when the .code is expanded.

Regards,
:NaN:
Posted on 2005-01-07 17:53:06 by NaN
Hi NaN

The solution is simple. Just move .code to the bottom


1=$ proc,? endp,,,6
2=.if,.endif,.elseif,.else,0
3=.while,.endw,.break,,0
4=$ struct,? ends,,,6
5=$ struc,? ends,,,6
6=$ macro,endm,,,14
7=.data,,,,16
8=.data?,,,,16
9=.const,,,,16
10=BEGIN,END,,,0
11=Method,MethodEnd,,,6
12=Object,ObjectEnd,,,4
13=Switch,endsw,Case,Default,0
14=;##\,;##/,,,4
15=.code,,,,16

KetilO
Posted on 2005-01-08 03:02:39 by KetilO
Ah! I didnt realize they are ordered this way. Ya! That would be simple way of handling this problem.

Thanks once again.
Regards,
:NaN:
Posted on 2005-01-08 10:59:22 by NaN