I recently started using WinAsm Studio and have some newbie questions.

1. When selecting "New Project" from the file menu, then selecting one of the templates e.g. Dialog/Base, a form pops up titled "WinAsm - Browse For Path". This always starts at the lowest possible level (My Computer, Docs, etc.). How do I set the default starting point to the folder where I keep all my programs?

2. After making a new folder in the proper place and saying ok, the files are saved with their original names. Is there some way to specify the names to use when saving the new project when they are first being saved rather than having to change each one individually after they are saved?

3. If load a project, click on the toolbar icon "Assemble" then click on the icon "Link" I get the error

LINK : fatal error LNK1181: cannot open input file "F:\WinAsm\Progs\P1\P1rc.obj"

but if I just click on "Go All" everything works properly. What is the purpose of the link toolbar button?


4. I changed the name of P1rc.rc to P1.rc so all three file had the same name with the extensions indicating what they were, and also changed its name in the wap file just because I like thing tidy. I reloaded the project and hit "Go All" and got the following error:

F:\masm32\BIN\rc /v "F:\WinAsm\Progs\P1\P1.rc"
Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
Using codepage 1252 as default
Creating F:\WinAsm\Progs\P1\P1.RES
RC: RCPP -CP 1252 -f F:\WinAsm\Progs\P1\RCa00408 -g F:\WinAsm\Progs\P1\RDa00408 -DRC_INVOKED -D_WIN32 -pc\:/ -E -I. -I F:\WinAsm\Progs\P1\ -I .
F:\WinAsm\Progs\P1\P1.rc.
Writing DIALOG:101, lang:0x409, size 170
F:\masm32\BIN\cvtres /machine:ix86 "F:\WinAsm\Progs\P1\P1.res"
Microsoft (R) Windows Resource To Object Converter Version 5.00.1736.1
Copyright (C) Microsoft Corp. 1992-1997. All rights reserved.
F:\masm32\BIN\ML /c /coff /Cp /nologo /I"F:\masm32\INCLUDE" "F:\WinAsm\Progs\P1\P1.asm"
Assembling: F:\WinAsm\Progs\P1\P1.asm

F:\masm32\BIN\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\masm32\LIB" "F:\WinAsm\Progs\P1\P1.obj" "F:\WinAsm\Progs\P1\P1.obj"

Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

F:\WinAsm\Progs\P1\P1.obj : warning LNK4042: object specified more than once; extras ignored

Make finished. 1 error(s) occured


How do I set the link output file to say P1temp.obj or some other temp .obj name so that I can keep the names of my files consistent?



Any help with these will be greatly appreciated!!
Posted on 2004-04-21 09:49:46 by JimG
Welcome JimG,


1. When selecting "New Project" from the file menu, then selecting one of the templates e.g. Dialog/Base, a form pops up titled "WinAsm - Browse For Path". This always starts at the lowest possible level (My Computer, Docs, etc.). How do I set the default starting point to the folder where I keep all my programs?

No option for this yet. Put in my "ToDo" list, thanks


2. After making a new folder in the proper place and saying ok, the files are saved with their original names. Is there some way to specify the names to use when saving the new project when they are first being saved rather than having to change each one individually after they are saved?

Already in my "ToDo" list. Will be implemented, thanks


3. If load a project, click on the toolbar icon "Assemble" then click on the icon "Link" I get the error

LINK : fatal error LNK1181: cannot open input file "F:\WinAsm\Progs\P1\P1rc.obj"

but if I just click on "Go All" everything works properly. What is the purpose of the link toolbar button?

Go all does this:

1.Compile RC (if there is RC file in your project)
2.RC To Obj (if there is RC file in your project AND "Res To Obj" is not empty)
3.Assemble
4.Link
5.Executes application if all of the above succeded AND the applcation is executable.
6.Delete all *.Obj and *.res files in the application directory.

Link simply links and then deletes all *.Obj and *.res files in the application directory.
So Link must be preceded by 1, 2 & 3 above.


4. I changed the name of P1rc.rc to P1.rc so all three file had the same name with the extensions indicating what they were, and also changed its name in the wap file just because I like thing tidy. I reloaded the project and hit "Go All" and got the following error:

F:\masm32\BIN\rc /v "F:\WinAsm\Progs\P1\P1.rc"
Microsoft (R) Windows (R) Resource Compiler, Version 5.00.1823.1 - Build 1823
Copyright (C) Microsoft Corp. 1985-1998. All rights reserved.
Using codepage 1252 as default
Creating F:\WinAsm\Progs\P1\P1.RES
RC: RCPP -CP 1252 -f F:\WinAsm\Progs\P1\RCa00408 -g F:\WinAsm\Progs\P1\RDa00408 -DRC_INVOKED -D_WIN32 -pc\:/ -E -I. -I F:\WinAsm\Progs\P1\ -I .
F:\WinAsm\Progs\P1\P1.rc.
Writing DIALOG:101, lang:0x409, size 170
F:\masm32\BIN\cvtres /machine:ix86 "F:\WinAsm\Progs\P1\P1.res"
Microsoft (R) Windows Resource To Object Converter Version 5.00.1736.1
Copyright (C) Microsoft Corp. 1992-1997. All rights reserved.
F:\masm32\BIN\ML /c /coff /Cp /nologo /I"F:\masm32\INCLUDE" "F:\WinAsm\Progs\P1\P1.asm"
Assembling: F:\WinAsm\Progs\P1\P1.asm

F:\masm32\BIN\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\masm32\LIB" "F:\WinAsm\Progs\P1\P1.obj" "F:\WinAsm\Progs\P1\P1.obj"

Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

F:\WinAsm\Progs\P1\P1.obj : warning LNK4042: object specified more than once; extras ignored

Make finished. 1 error(s) occured


How do I set the link output file to say P1temp.obj or some other temp .obj name so that I can keep the names of my files consistent?


If your recource file (*.rc) has the same name with your *.asm file then your "Res To Obj" MUST BE EMPTY, because the end result would be that two *.obj files with the same name in the same directory (impossible). Look at the text in bold above.


I hope it helps,

akyprian
Posted on 2004-04-22 00:06:55 by akyprian
Hi akyprian, thanks for the quick response, I really like what you are doing with WinASM. Regarding question 3:

-----------

F:\masm32\BIN\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\masm32\LIB" "F:\WinAsm\Progs\P1\P1.obj" "F:\WinAsm\Progs\P1\P1.obj"

How do I set the link output file to say P1temp.obj or some other temp .obj name so that I can keep the names of my files consistent?

If your recource file (*.rc) has the same name with your *.asm file then your "Res To Obj" MUST BE EMPTY, because the end result would be that two *.obj files with the same name in the same directory (impossible). Look at the text in bold above.

I hope it helps,

akyprian

-----------

It seems like WinASM normally generates the following commands (according to the output window):

F:\masm32\BIN\rc /v "F:\WinAsm\Progs\P1\P1rc.rc"
F:\masm32\BIN\cvtres /machine:ix86 "F:\WinAsm\Progs\P1\P1rc.res"
F:\masm32\BIN\ML /c /coff /Cp /nologo /I"F:\masm32\INCLUDE" "F:\WinAsm\Progs\P1\P1.asm"
F:\masm32\BIN\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\masm32\LIB" "F:\WinAsm\Progs\P1\P1.obj" "F:\WinAsm\Progs\P1\P1rc.obj"

What I was thinking was that if a scratch name was used for the output obj for the resource then there wouldn't be a conflict and the coder could use any name wanted. For example, if the commands were:

F:\masm32\BIN\rc /v "F:\WinAsm\Progs\P1\P1.rc"
F:\masm32\BIN\cvtres /machine:ix86 "F:\WinAsm\Progs\P1\P1.res"/OUT:f:\winasm\progs\p1\p1TempRc.ob
F:\masm32\BIN\ML /c /coff /Cp /nologo /I"F:\masm32\INCLUDE" "F:\WinAsm\Progs\P1\P1.asm"
F:\masm32\BIN\Link /SUBSYSTEM:WINDOWS /RELEASE /VERSION:4.0 /LIBPATH:"F:\masm32\LIB" "F:\WinAsm\Progs\P1\P1.obj" "F:\WinAsm\Progs\P1\P1TempRc.obj"


I was wishing maybe there was some option I could use to set the resource object name.

Thanks again- JimG
Posted on 2004-04-22 08:23:54 by JimG
Ok, now I'm really confused. I moved on from the template "Winasm\Templates\Dialog\Base" to the template "Winasm\Templates\Dialog\bones". It does exactly what I was trying to do I think. The Resource name is the same as the asm name, i.e. "bones". When I hit go, it works fine. When I look at the output window, it never ran cvtres at all, which was what caused the problem above. I can't seem to find the magic difference between the two that makes this work. What's the trick?
Posted on 2004-04-22 09:27:52 by JimG
No problem at all. As I already said:


If your recource file (*.rc) has the same name with your *.asm file then your "Res To Obj" MUST BE EMPTY , because the end result would be that two *.obj files with the same name in the same directory (impossible).

Is it clear now?

akyprian
Posted on 2004-04-22 09:58:18 by akyprian
Duh----

Yeah, now I get it. Sorry. So, why was "/machine:ix86" in the "Res To Obj" field for the "base" template?
Posted on 2004-04-22 10:03:23 by JimG
First of all, you need to use "Res To Obj" if you really want the res to obj conversion (I never do it myself). If so, your *.rc file name should not be the same with your *.asm file name. If you look at the base template carefully, the rc file name is not the same with the asm file name.

I hope it is meaningful,

akyprian
Posted on 2004-04-22 10:10:18 by akyprian
Thanks akyprian, I appreciate it.

So, one more newbie question, how do you know when you need to do the res to obj conversion or not, why was it in the base template?
Posted on 2004-04-22 10:14:52 by JimG
It was in the base template because its developer (not me) decided to do so.

You really need it if you want the obj file for your own needs (some googling will enlighten the Common Object File Format). Most probably you will never need it, and thus, I suggest you forget about it (at least for the time being).

akyprian
Posted on 2004-04-22 10:27:07 by akyprian
Ok, here's another newbie question.

I can see how to add an edit box, etc. to a dialog and how to move them around and resize them, but is there some way to go to a properties page somewhere so I can easily set things like scrollbars property, multiline property, and such? I see in the winasm.ini file an entry that says: ExtResEdit=F:\WinAsm\ResEd\Rs32.exe, but I don't have this file. Is this the problem?

Thanks in advance---- J
Posted on 2004-04-28 11:08:38 by JimG
Hi,


I see in the winasm.ini file an entry that says: ExtResEdit=F:\WinAsm\ResEd\Rs32.exe, but I don't have this file. Is this the problem?

No relation at all. This setting is for those who prefer to use an external resource editor of their choice instead of the built-in one. I don't use it myself either :grin:


I can see how to add an edit box, etc. to a dialog and how to move them around and resize them, but is there some way to go to a properties page somewhere so I can easily set things like scrollbars property, multiline property, and such?

Don't get confused with how high level languages let you make the changes you are looking for. You must use Style from the properties list (Resources tab) to make any changes you want.

I hope this helps,

akyprian
Posted on 2004-04-29 02:41:14 by akyprian
Thanks akyprian, it certainly is different from a high level language!

You said:
Don't get confused with how high level languages let you make the changes you are looking for. You must use Style from the properties list (Resources tab) to make any changes you want.

(I haven't figured out how to quote a message in a reply for this system yet)

I couldn't find an actual tab that said Resources, I'm assuming your talking about the popup menu you get from right clicking on a control. The result of clicking on style from this menu is a popup table with all yes/no answers with some rather strange selections. I'm not sure why I would every want to put scroll bars on a label (static) but I would like to type in the text or caption at this point. It might be nice to have an entry on this menu to toggle visual mode so I could punch in the id and caption at this point. ...or is there an actual resources tab that I am missing? Is this perhaps an add-in I don't have installed?

I also don't have the appropriate help file for finding out what these settings actually mean. I couldn't find it in the win32.hlp file or the rc.hlp file. What's the best source for this info?
Posted on 2004-04-29 09:06:53 by JimG
Hi,


(I haven't figured out how to quote a message in a reply for this system yet)

There is a quote button at the bottom right of each and every post. Use it


I couldn't find an actual tab that said Resources, I'm assuming your talking about the popup menu you get from right clicking on a control. The result of clicking on style from this menu is a popup table with all yes/no answers with some rather strange selections. I'm not sure why I would every want to put scroll bars on a label (static) but I would like to type in the text or caption at this point. It might be nice to have an entry on this menu to toggle visual mode so I could punch in the id and caption at this point. ...or is there an actual resources tab that I am missing? Is this perhaps an add-in I don't have installed?

No relation to any Add-In. There are 3 tabs on the project explorer, namely: Project, Blocks, Resources (if you don't see all three tabs then increase the project explorer's width). In resources, choose Dialogs. The list at the bottom is the properties list where you make ALL possible changes to Controls/dialogs. Some of the options available in this list are included in the pop up menu as you already discovered.


I also don't have the appropriate help file for finding out what these settings actually mean. I couldn't find it in the win32.hlp file or the rc.hlp file. What's the best source for this info?

win32.hlp file is availble in the downloads page of my site. Use it to learn the styles available for dialogs and each type of control

Is it any clearer now?

akyprian
Posted on 2004-04-29 09:24:20 by akyprian


No relation to any Add-In. There are 3 tabs on the project explorer, namely: Project, Blocks, Resources (if you don't see all three tabs then increase the project explorer's width). In resources, choose Dialogs. The list at the bottom is the properties list where you make ALL possible changes to Controls/dialogs. Some of the options available in this list are included in the pop up menu as you already discovered.

win32.hlp file is availble in the downloads page of my site. Use it to learn the styles available for dialogs and each type of control


Excellent! I absolutely didn't see the tab at the BOTTOM of the resource window.

Regarding win32.hlp, I had some lame 19 meg version that was no help at all. I downloaded your 24 meg version and it is MUCH better. Hopefully some of these dumb questions will help some other newbie also.

Thanks again. -J
Posted on 2004-04-29 09:46:03 by JimG