Note: I made this bugs & wish list for WinAsm 3.0.1.2, please check if this still applies to the current version.

Bugs:

1. When the build had warnings (not errors, just warnings) WinAsm will refuse to run the output exe file. This is desirable when WinAsm is set to run the exe after a successful build, but it should let the user run the program anyway when clicking the Run button.

2. Create a dialog box with the WS_EX_TRANSPARENT style. Select any control, then the parent dialog. The selection box will not be erase properly (uses the same brush as if the dialog was not transparent).

3. Create a dialog box with the WS_EX_TRANSPARENT style. Cover WinAsm with another window and uncover it. The dialog will no longer look "transparent" until you select it again from the project window.

4. Create several dialog boxes with the WS_EX_TRANSPARENT style. When switching from one to another, you will notice some severe flicker. Apparently the "transparent" (blue) brush is painted over the "opaque" (gray) one, with no backbuffering.

5. When you have more than one control with the same ID, even across dialogs, deleting one of them removes the ID from the script. (I'm not sure if this one has been reported for earlier versions already, I'm posting just in case it hasn't).

6. When pasting any code that should have a collapsible block, the block's button in the line number bar is not shown. Forcing WinAsm to redraw doesn't solve the problem, but hitting Enter to add a line before the "missing" block does.

7. Running WinAsm through MemProof reveals 90 heap memory leaks (~200Kb), 35 user32 leaks, and 17 errors (16 faulty HeapFree calls, and 1 failed DestroyObject). It's not so bad since there are no GDI leaks, but I thought you might want to know. I'm attaching the MemProof report.

8. When build errors are shown in the source files, blocks are expanded but their buttons do not reflect that change.

9. Autocomplete for the TVINSERTITEM structure is wrong (instead of "item" it says "ITEMTYPE"). The problem is that windows.inc has it defined as a nameless union of two structures, and the union itself is declared as a type.

10. This one is for PhoBos: autocomplete for GetDriveType is wrong, it's only parameter should be "lpRootPathName" and it says "nDrive" which can be misleading (it's an ASCIIZ string pointer, NOT an integer).


Wish list:

1. Unions could be collapsible (just like structs).

2. There are a couple of things I miss from other IDEs: horizontal bars indicating the nesting level (counting tabs), and an info tooltip when writing a struct definition in the data section. :)

3. There is little point in having an autocomplete box with local variable names when typing the "OFFSET" keyword... funny how we never noticed! :grin:

4. An optimization to the addins manager, when retrieving the addins names and descriptions: load ALL the addins first, then get the strings, then unload them all. This speeds up the loading of the libraries since most of them will have many common dependencies.

5. Addins have access only to the GUI, to the internals of WinAsm. For this reason addins coders quickly find a limit... there are some things you just cannot do. For example, after one of your replies where you suggested to make addins that replace existing dialog boxes (rather than subclassing them), I thought of making an addin to replace some WinAsm dialog boxes with wizards (to make the interface more intuitive for new users), and realized that it just couldn't be made... :(

So, in my ideal world :grin: WinAsm should provide a way for addins to do this:

a) Full access to the project: not just getting the project info, but changing it. It is currently possible to manipulate existing project files, but not to add or remove them. It would also be great to be able to save a file (without having to bring it's MDI child window to the front and sending a WM_COMMAND message).

b) Full access to the resource editor: at least the ability to add resources to an existing script, without having to "manually" parse the file, would be great. It is currently impossible since files opened by WinAsm cannot be edited externally. Of course this should only work when visual mode can be enabled (in other words, when the script is 100% compatible with WinAsm).

c) Access to other addins: a way to enumerate currently loaded addins. Also a way to load and unload them could be useful (including the possibility of an addin that unloads itself). I can think of an application for this right now: an addin that, when the output filename corresponds to a currently loaded addin (other than iself, of course), automatically unloads and loads it when you make a build.

d) The ability to reload VAA and keyword files on runtime. This would be great, for example, for PhoBos to make his VAA editor as an addin (changes would be reflected immediately). Also one could make an addin to support other assembler flavors.

e) Easy ways to send text to the output window, add tabs to the project window, have addin menu items with icons, etc. (at least I don't know how to do it :confused: )

f) Locate menu popups by item number, not position. This would be useful if you want to make an addin that has it's own popup menu, without breaking other addins.

I know it's asking a lot, I'm just posting this here to give you something to think about... ;)
Posted on 2004-05-03 17:27:17 by QvasiModo
Hi QvasiModo,


Bugs:
1. When the build had warnings (not errors, just warnings) WinAsm will refuse to run the output exe file. This is desirable when WinAsm is set to run the exe after a successful build, but it should let the user run the program anyway when clicking the Run button.

Ok, thanks


2. Create a dialog box with the WS_EX_TRANSPARENT style. Select any control, then the parent dialog. The selection box will not be erase properly (uses the same brush as if the dialog was not transparent).

Ok, thanks


3. Create a dialog box with the WS_EX_TRANSPARENT style. Cover WinAsm with another window and uncover it. The dialog will no longer look "transparent" until you select it again from the project window.

Ok, thanks


4. Create several dialog boxes with the WS_EX_TRANSPARENT style. When switching from one to another, you will notice some severe flicker. Apparently the "transparent" (blue) brush is painted over the "opaque" (gray) one, with no backbuffering.

Ok, thanks. It seems that the best solution for 2,3,4 is to exclude WS_EX_TRANSPARENT when creating the dialogs in design mode.


5. When you have more than one control with the same ID, even across dialogs, deleting one of them removes the ID from the script. (I'm not sure if this one has been reported for earlier versions already, I'm posting just in case it hasn't).

Yes, you've already posted this.


6. When pasting any code that should have a collapsible block, the block's button in the line number bar is not shown. Forcing WinAsm to redraw doesn't solve the problem, but hitting Enter to add a line before the "missing" block does.

Yes, you've already posted this.


7. Running WinAsm through MemProof reveals 90 heap memory leaks (~200Kb), 35 user32 leaks, and 17 errors (16 faulty HeapFree calls, and 1 failed DestroyObject). It's not so bad since there are no GDI leaks, but I thought you might want to know. I'm attaching the MemProof report.

failed DestroyObject makes me wonder. I 'll check it.


8. When build errors are shown in the source files, blocks are expanded but their buttons do not reflect that change.

Thanks


9. Autocomplete for the TVINSERTITEM structure is wrong (instead of "item" it says "ITEMTYPE"). The problem is that windows.inc has it defined as a nameless union of two structures, and the union itself is declared as a type.

Please post this to PhoBos


10. This one is for PhoBos: autocomplete for GetDriveType is wrong, it's only parameter should be "lpRootPathName" and it says "nDrive" which can be misleading (it's an ASCIIZ string pointer, NOT an integer).

Please post this to PhoBos


I 'll think about all your wishes and act accordingly, thanks very much

Regards,

akyprian
Posted on 2004-05-04 09:22:58 by akyprian
Hi there :)

Please post this to PhoBos


OK, i will take care of all QvasiModo comments
Posted on 2004-05-04 12:47:05 by PhoBos
Great, thanks for your replies :)
Posted on 2004-05-12 15:21:43 by QvasiModo
Hi there,

Here are the modified vaa files. (v1.3a ;) )

Enjoy
Posted on 2004-05-13 01:32:38 by PhoBos
Cool :alright:
Posted on 2004-05-13 10:49:01 by QvasiModo
Hi,


Hi there,

Here are the modified vaa files. (v1.3a ;) )

Enjoy


Keep up the great work.

Regards,

akyprian
Posted on 2004-05-13 15:13:50 by akyprian