All, I've been thinking about a project to take on recently, as a learning experience in assembler for me, and to provide the Win23asm community with something useful. So I though I would develop, in assembly, a resource editor GUI, staring off with the basics and adding to it as time goes on. What do people think? Am I wasting my time? Are you hopping up and down getting cross because I am waffling and not writing it now? Let me know here if you're interested, if I get enough interest I'll go ahead, in assembler otherwise I'll write it in C++, which will be alot quicker! Umbongo
That's almost a rhetorical question. Of cource people will want it. It seems everyone wants their own assembler GUI builder... that I'm aware of currently, you, myself, and one other person is anywhere close to have achieved it -- or already achieved it. I'd like to see you're resource editor. I always believed, if someone else would come up with something I'm looking for, I likely wouldn't burden myself with the need to write it -- as I'd most certainly use what's already there. Of course, for the educational experience, I'd learn how to do certain aspect of it, but, I wouldn't troubly myself with such burdens. Time is becoming precious these days -- I'm too busy perfecting my extensibility model for the IDE -- so I can hurry up and release it finally (among other things). Send it along :D _Shawn
I'm hopping up and down getting cross because you are waffling and not writing it now.
count me in. maybe you can first code it in C++ which would help get things done and see how you like certain things. then when you implement something new into the resource editor you could decide... well maybe i should change it to do something a little different or looks good ill keep it this way. once youve make final decisions on parts of the program you can convert the program to asm as you go or just wait until your done then make the conversion. thanks for your time umbongo smurf This message was edited by smurf, on 3/29/2001 2:43:37 PM
Umbongo, I'd love to try out a new resource editor. All existing once suck and are outdated. That's why I was thinking of creating my own once my IDE is out of beta. I've got all the visual items including the visual designer and especially the Windows compoments pretty much working. Just need to translate it into either the .RC script files or create my own resource compiler and go straight to the binary files and linking with the assembler code. You can't see the visual designer yet in the current VASM release until I have completed some other things first. You can try out the form component though and then display the object inspector. You will see all visual items that a form can have including property editors for that form. The same goes for all other windows components. If you could built one including a compiler, I'm sure this would be VERY helpful to all asm programmers. And, if you don't mind, I'd love to integrate your version into VASM or at least check it out! This message was edited by rainbird, on 3/29/2001 4:35:08 PM
umbongo, Two things to check before you begine. First, see how far Icz is with his visual designer. I've seen screen captures only, but it's reported to not only design .rc dialogs but full window type control windows too. I'm not sure I'd like to see efforts to make this intricate tool duplicated (unless each spurs the other on to make it better). Seccond, if you do wish to go forward anyway, let me know if you want some old C code that makes a 4K compiled existing rc editor. I found it in one of my CD searches, it will probably save you some time figuring out how to do some visual changes. (Peronsally, if someone wisdhes to let me use their visual form designer component in my IDE I'd be well pleased) --------------------------- "And remember not to act afraid. Animals can smell fear. And they donít like it." --------------
I think we'd all be well pleased. When I sent you the email about mine, what I had in mind was finishing mine and letting you use it in yours, and then you could add COM support if you like. It'll be a while before I could. If Icz' is like the screen shot I saw, and like VB, it would support ActiveX too, then I'd just use his and not be as inclined to write my own. _Shawn
Where could I find Icz screen shot? Is there an URL available? :)
umbongo, My thinking is that if you have a good idea, don't hang around waiting for vapourware to materialise, write it if you think it can be finished in a lifetime. In the first instance, I would be inclined to write it in C++ as it will get the development speed up a lot and then progressively replace parts of it with either assembler DLLs or assembler modules. It suffers a one off big hit in terms of size but it can be played with after its going to get it either faster or a bit smaller. Regards, email@example.com
_Shawn: Mine is written in asm: no support for ActiveX (yet). The visual form editor is done:it can produce honest-to-goddness MASM code based on CreateWindowEx,not just .rc file. Currently the project is on hold because I dread the day I have to write C header file parser (you have to do it anyway if you intend to write a fully functional resource editor). The feature list and aim is much simpler than yours: it only targets MASM.
Well, not wanting to sound negative, but it looks like there are a few resource editors up an coming, I wanted to do something useful, but if produce just another resource editor, I din't think it's worth the effort. I'm not for re-inventing the wheel, I have a perfectly good resource compiler myself, which is build into VC++, I just create a custom build step for the asm file, and that's it. So I'm not going to start again from scratch. Shawn, Icz. If you guys want any help, let me know. Umbongo
Iczelion, Curious, is there an advantage by creaying the asm code based on a visual editor vs. an .RC file or even a direct binary file? I can see the advantage of having the asm code if one needs to modify the window at run-time or by modifying itself later on; but otherwise? Don't get me wrong, just curious. :)
Rainbird, I think they both have their advantages and disadvantages. If you do resource, then it'll manage a lot of things for you. If you do manual coding of the same dialog, you have to manage many things. I think the best advantage of having it produce code instead of rc files is that fact that you can see exactly what's going on and learn from it. The best advantage of using rc file is that many things you don't have to focus on, therefore, can focus on other things than the UI. Icz may have another opinion. I started my Visual Editor with some Delphi component which allows me to edit Delphi forms and controls natively. I had to start over from scratch. I learned that if people are viewing all the properties of a Delphi component and set them, then you'll have to figure out some way of implementing the same functionality in assembly, in essence, rewriting the VCL. By starting from scratch, I have much greater controls and leads to no false hopes from the user, and no unreal burden from me. I don't want to say only certain properties can be set for asm because I don't have 3000+ properties implemented for all the windows standard and common controls. It's easier to start from scratch and come up with your own way of implementing it. Not talking about frameworks just talking about how unrealistic I learned it was to do it with Delphi, it's easier to start over again. The advantage of using Delphi, tho, is that you can figure out an easy way to make it generate a resource to do much the same, but it didn't leave me with enough control. _Shawn
_Shawn, True, if the asm code is available for the control, one has greater control over it at runtime. My resource / visual designer is based on the Delphi visual designer. You don't have to convert all properties to asm. All you have to do is limit certain properties to pure windows properties and create a .RC file based on the current form/control and the .RC flavor of the compiler. Then, use the resource compiler to create the binary file for linking. That's it. You don't have to re-invent the visual drag & drop, and many other things as the Delphi visual designer is doing most of the work for you. The RTTI in Delphi holds this valuable information in any VCL based application. For example, creating a non-VCL based Delphi app with pure API calls, I can create a 15 kb complete window app with menu and all. Not as small as a 5 kb asm app, but darn close. But, this is without the VCL and therefore no RTTI. Creating a resource at run-time can be resource smart for large applications. I guess it depends on the app and what the coder prefers.
Rainbird: I don't intend to produce only window code: it's only a choice the user can make. If he wants to, he can create a dialog box too. At least that is what I plan to do ;) As to the advantage of window code over .rc, greater control is the key: you have the say when and where to create your controls, among other things. Dialog box is originally designed to be input device so it's easier to create. It's like building a house: if you want your house to be unique, you have to make the parts yourself but if you want some standard parts, you order a premade components.
Hi i think its a good idea to make a gui for resources editing. i want to make such a tool ,too. but i only want to make a easy tool for moving buttons and boxes. i think i have to make a window ,who is changeable by user. next i make some images of buttons,boxes and editfields.... the user can now move images of buttons on the window. if the user move the mouse i got the coordinates and can so easy got the coordinates for the real buttons in the rc file. if i save the file to rc,i insert the name of the button and the position ,thats all. i hope its not to much work and the idea will working,because im a beginner. if you like to code it in asm ,i would happy if i can try to help. cu
EasyCode, It's much simpler than that. You need to create a linked list. Then, when the user opts for a "new dialog" you create a windows with CreateWindowEx. Now, you supply a list of what options the user can have, which are basically style messages and let them set their settings. Then, when the user places a control on the dialog, use the hWnd of the window you created to place the child control on to. Now, from the main program, watch for the messages. Once one of the child controls has the mouse over it, places an invisible window over it which only has some grabhandles. That way, if the users drags it or resizes it, the child beneath it will be reflected. This makes it a "design time control" so to speak. Then, according to the settings the user chooses, they can see the dialog exactly as it will be once copmiled. There are more details, but that's the just. At least, that's whay I did. You don't need to use bitmaps of the control, that's too much work, and won't allow for any customization. _Shawn