Pelle's tools in the Build menu in GeneSys Editor Plus are greyed out and I can't figure out how to enable them.
Help appreciated.
dEbUgGeR,
The tools MUST be loxcated in \GeneSys\bin\ and the file you are working on must be on the same harddrive.
-- Paul
Paul,
If I'm not mistaken poasm.exe, polink.exe, polib.exe, porc.exe, pomake.exe,and podump.exe are all in the C:\GeneSys\Bin folder. And all is on the same drive.
regards,
greg
bump.
bump....
Does that mean everything is okay?
-- Paul
No! It's not working. The menu items for Pelle's tools are greyed out. The files I listed are all in the bin folder. They are what came with the SDK, I did not add them myself.
greg
I was just looking at hitchhikr's OGL_ASM examples and for some reason Pelle's tools were functional. Not sure what the heck!?
Anyway, could not assemble/link the scissors example cause I don't have uuid.lib on board. I don't have the Platform SDK on board and I don't really want it either. Only bits of it if anything. How can I get a copy of uuid.lib??
paul,
pelle's tools options are grayed out for me too in the menu.
& the binaries are in the \bin\ folder
dEbUgGeR,
Load an example project or create a new project in the editor. You will be able to select Pelle's tools.
vortex, pelle's options are grayed out, even when an asm file is loaded in the editor
thx
Using the editor from here (http://www.masm32.com/board/index.php?topic=9805.0), with a source loaded all of the choices on the Build/Other Tools menu are accessible, and while the selections for porc and polink work, the selections for Pelle's Assembler and Japheth's Assembler do not.
just dloaded that one;..all the options for other assemblers, show in that version. - i'd been dloading the editor from paul's website. - the selections for Pelle's Assembler and Japheth's Assembler do not work though.
The Editor on my website or anywhere else but from here is hopelessly outdated. If you wish to use Pelle's tools, you must get the editor from here. I am not well and overwelmed but trying hard, but that editor from this board works for Pelle's tools, I am sure of it.
-- Paul
Rainstorm,
Download the editor from the board :
http://www.masm32.com/board/index.php?topic=9805.msg71789#msg71789
Create an example project and then save it. You will see that Pelle's tools are enabled.
Yes, Pelle's tools are enabled, and I can get the editor to use polink or porc, but even if I select Use Pelle's Assembler, the editor still uses ML, and the same for Use Japheth's Assembler.
Hi MichaelW,
Delete the GeneSys entry in the registry and re-try to select Poasm or Jwasm. It worked for me.
Hi Vortex,
There is no GeneSys entry in the registry, but there is a GeneSys Editor Plus entry, and deleting it did not correct the problem. There was an older Editor+ entry, and deleting it also did not correct the problem. So I deleted all the relevant registry entries, renamed my current installation, and downloaded and installed the SDK 2008 package (data.rar dated August 19, 2008), then updated the editor (August 17, 2008) with the September 9, 2008 version, and the problem still exists. The editor will use polink or porc OK, and I can select Use Pelle's Assembler or Use Japheth's Assembler, but the editor continues to use ML. Here is a listing for the bin directory:
Directory of C:\GeneSys\bin
09/16/2008 02:03p <DIR> .
09/16/2008 02:03p <DIR> ..
08/14/2008 11:43a 11,776 asmlib.dll
08/14/2008 11:43a 3,072 bin2h.exe
08/14/2008 11:43a 15,632 cvtres.exe
08/14/2008 11:43a 2,048 dumpbin.exe
08/14/2008 11:43a 2,048 editbin.exe
08/14/2008 11:43a 20,992 GeneSys.dll
08/14/2008 11:43a 21,880 h2inc.err
08/14/2008 11:43a 294,912 h2inc.exe
08/14/2008 11:43a 364,544 IconEditor.exe
08/14/2008 11:43a 2,658 IconEditor.txt
08/14/2008 11:43a 3,584 inc2lib.exe
07/24/2008 01:43p 19,280 JW-History.txt
07/03/2007 01:39p 21,128 JW-License.TXT
07/24/2008 01:42p 286,720 JWASM.EXE
07/24/2008 01:42p 368,640 JWASMD.EXE
08/14/2008 11:43a 2,048 lib.exe
08/14/2008 11:43a 462,899 link.exe
08/14/2008 11:43a 9,687 ml.err
08/14/2008 11:43a 385,072 ml.exe
08/14/2008 11:43a 117,520 msdis100.dll
08/14/2008 11:43a 164,112 msdis109.dll
08/14/2008 11:43a 157,456 mspdb50.dll
08/14/2008 11:43a 5,056 nmake.err
08/14/2008 11:43a 65,536 nmake.exe
08/14/2008 11:43a 693 nmake.txt
06/07/2008 04:24p 653,488 poasm.exe
06/07/2008 04:27p 399,872 podump.exe
06/07/2008 04:28p 88,240 polib.exe
06/07/2008 04:28p 164,528 polink.exe
06/07/2008 04:29p 59,904 pomake.exe
06/07/2008 04:11p 145,584 porc.dll
06/07/2008 04:11p 30,208 porc.exe
08/14/2008 11:43a 4,880 rc.exe
08/14/2008 11:43a 136,161 rc.hlp
08/14/2008 11:43a 105,744 rcdll.dll
07/24/2008 11:58a 8,171 README.TXT
08/14/2008 11:43a 340,992 ResEd.exe
08/14/2008 11:43a 126,464 upx.exe
08/14/2008 11:43a 32,768 upx32-Shell.exe
39 File(s) 5,105,997 bytes
Michael,
GeneSys Editor Plus is correct.
Please do not get angry, but we have had these issues with Wiindows 2000 before. It is less tolerant of sloppy code and perhaps my code is sloppy I will have to look, but, my goodness, it works fine with XP. Of course, I will check the code. Are you having this problem with JWASM, also? I'd like to know as they are two differnet coding areas.
-- Paul
Hi Paul,
I cannot get the editor to use poasm or JWASM. I don't understand your reference to "angry". Perhaps you are reading a tone into my posts that I did not intend. My only interests in this are to satisfy my curiosity and to try and help you find bugs. I have seen other applications misbehave under my Windows 2000 installation, which as I have stated before is a very early pre-SP version. I have all of the available SPs and updates installed, and the system is very reliable, but it could still have some significant uncorrected problems. Sooner or later Microsoft will stop updating it, and I will then have to move to XP.
Michael, by angry, all I meant is for you not to think I was picking on you or Windows 2000. It is important to me for the editor to work on all systems. you have always been very proper in your dealings on this board.
Please download the lastest from the usual place. I have high hopes.
-- Paul
Nope, even after I deleted the old registry entry, when I try to build an example with either Other Tools \ Use Pelle's Assembler or Other Tools \ Use Japheth's Assembler selected, I get:
Calling the Assembler.
C:\GeneSys\templates\imDialogs\mousedraw.obj has been deleted.
\GeneSys\bin\ml.exe /c /coff /Zi /Zd C:\GeneSys\templates\imDialogs\mousedraw.asm
Microsoft (R) Macro Assembler Version 6.15.8803
Copyright (C) Microsoft Corp 1981-2000. All rights reserved.
Assembling: C:\GeneSys\templates\imDialogs\mousedraw.asm
Assembly completed successfully.
Calling the Linker.
\GeneSys\bin\link.exe /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV C:\GeneSys\templates\imDialogs\mousedraw.obj
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
The executable was successfully created.
I also tried the above just assembling the object module, and the editor used ML. And after I renamed poasm.exe, selected Other Tools \ Use Pelle's Assembler, and attempted a build, the editor did not complain.
Okay, back to the drawing board. Let's establish one thing, however, deleting the Registry entries is not going to help this situation as none of that stuff is in there.
I am curious about something, however, I notice that debugging code instructions are in the ml.exe tail. Did you ask for that? Pell's assembler will not use that tail so it does not matter; but, if you are not setting the debugging option and it is being used anyway it will give me a place to look. For now, I will assume the worst.
-- Paul
Hi Paul,
I'm on a borrowed system right now, so I can't check my system, but I don't recall enabling a debug build, or even if there is such an option.
Hi MichaelW,
Today, I tried the GeneSys editor on a Windows 2000 Sp4 system. Selecting Poasm or Jwasm has no any effect as you stated. I will work with Paul on this issue.
Gentlemen,
I think I may have a handle on why this is happening; please try, again,
--Paul
Nope, the editor still uses ML. This time I tried selecting polink in combination with poasm, and the editor still used ML. I hope you can find the problem, I would like to know what difference between 2000 and XP could cause something like this.
Also, /Zi and /Zd are always present in the ML command line, regardless of the selected state of the Add Debug Code for Testing option, and once I select this option I cannot toggle it to deselected. And when I open the editor and select New or Open, without touching the edit window, I get a message box that prompts, "Want to save changes to (untitled)."
Michael,
I suspect it is a problem with the handling of high level constructs so I am removing them one at a time. It is possible that there is more than one issue with them so as long as it continues to work in XP, I will not restore any changes. Key to the problem is the value of hPoASM, it must be one and I suspect it is not.
Next test in the morning.
-- Paul
Michael,
Please try again. I am doing things one step at a time so that when it finally works I can post exactly what it was.
-- Paul
Nope, still uses ML. Could this have anything to do with an environment variable, or something in my system configuration?
Michael,
I do not think so but who knows. I am going to rewrite the routine so that I am looking for the presence of a checkmark in the menu, instead, Currently, the two flags are set in one part of the program and tested in another. something similar was happening with the problem we had some time ago. My solution at that time was to put everything into one procedure, which worked, but I never discovered what the problem really was as a result. I am afraid I will have to do something similar, here, as this is getting time consuming and I have contracted a job building installation programs for a mid-sized ISP in the New York City area. I want to finish this first, though.
I am committed to solving this problem (and I will dammit). Without your patient help, I would be lost as I do not have a test machine.
-- Paul
Michael,
Please try again. This version is using an entirely different approach where I am checking the state of the menu selections and building the strings accordingly. Works fine on XP so there is hope.
-- Paul
OK, that appears to have fixed the problem. I can now get the editor to use poasm and jwasm, as well as porc and polink. I have not used poasm in a while so I'm not sure how it should behave, but in the time I spent on it I could not find a source that poasm could successfully assemble. Here are some typical results:
Calling the Assembler.
\GeneSys\bin\poasm.exe C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm
\GeneSys\include\windows.inc(18306): error: Invalid use of 'align'.
\GeneSys\include\windows.inc(18306): error: Invalid use of 'dword'.
\GeneSys\include\windows.inc(29706): error: Redefinition of symbol 'GUID'.
\GeneSys\macros\macros.asm(173): error: Invalid use of '%'.
\GeneSys\macros\macros.asm(175): error: Invalid use of '%'.
\GeneSys\macros\macros.asm(176): error: Invalid use of ''.
\GeneSys\macros\macros.asm(179): error: Invalid use of 'endm'.
\GeneSys\macros\macros.asm(311): error: Invalid use of '%'.
\GeneSys\macros\macros.asm(314): error: Invalid use of '%'.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(24): error: Too many parameters to 'SeeYa'.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(23): error: Expected 'identifier'.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(24): error: Invalid use of 'ENDIF'.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(24): error: Invalid use of 'ENDIF'.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(24): error: Invalid use of ','.
C:\GeneSys\examples\ConsoleApps\Pi\Pi.asm(24): error: Unterminated conditional code (IF-ENDIF).
Errors occurred while assembling. The Build process is halted.
Errors occurred while linking. The Build process failed.
Calling the Assembler.
\GeneSys\bin\poasm.exe C:\GeneSys\examples\Invoke\invoke.asm
\GeneSys\include\windows.inc(18306): error: Invalid use of 'align'.
\GeneSys\include\windows.inc(18306): error: Invalid use of 'dword'.
\GeneSys\include\windows.inc(29706): error: Redefinition of symbol 'GUID'.
C:\GeneSys\examples\Invoke\invoke.inc(11): error: Invalid use of '%'.
C:\GeneSys\examples\Invoke\invoke.inc(12): error: Invalid use of '%'.
C:\GeneSys\examples\Invoke\invoke.inc(15): error: Invalid use of '%'.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of 'wc'.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(49): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(48): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of 'AppName'.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(52): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(53): error: Invalid use of ','.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of 'msg'.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(58): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(57): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of 'msg'.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(59): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of 'msg'.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(61): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(60): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(35): error: Symbol 'WndProc' is undefined.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of 'ps'.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(72): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(73): error: Invalid use of ','.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of 'rect'.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(74): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(75): error: Invalid use of ','.
C:\GeneSys\examples\Invoke\invoke.asm(76): error: Invalid use of 'or'.
C:\GeneSys\examples\Invoke\invoke.asm(76): error: Invalid use of '1'.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of 'ps'.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ')'.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ''.
C:\GeneSys\examples\Invoke\invoke.asm(76): error: Invalid use of '{line-break}'.
C:\GeneSys\examples\Invoke\invoke.asm(77): error: Invalid use of ','.
C:\GeneSys\examples\Invoke\invoke.asm(67): warning: Symbol 'ps' is never used.
C:\GeneSys\examples\Invoke\invoke.asm(68): warning: Symbol 'rect' is never used.
C:\GeneSys\examples\Invoke\invoke.asm(35): error: Symbol 'WinMain.WndProc' is undefined.
Errors occurred while assembling. The Build process is halted.
Errors occurred while linking. The Build process failed.
Hi MichaelW,
Thanks for the testings. The reason why Poasm fails is that all the GeneSys examples are designed to be assembled with ml.exe . Poasm's macro system is not like Masm's and the master include file window.inc was designed to be used with ml.xe
Hi Michael,
This is great news. Vortex is correct in that PoASM is only a 'near' compatible to ml.exe. JWasm, however, will assemble all those examples flawlessly. In fact, the GeneSys Editor, itself, has been assembled many times with JWasm and it is the largest program I have ever written.
One think I wonder about; in the windows help file, I often encounter many APIs that state, "Now works with NT." I wonder if this is the problem, you having a very old version of NT?
BTW: would you like me to post the code that failed and the code that works? I have no clue why the failed code fails. It does have some APIs (setting CheckMarks within the blocks but they seem to work fine.
-- Paul
Mostly, I would like to know the API functions that are involved or might be involved.
Michael,
I would say it would have to be CheckMenuItem.
I have to be careful here because I can only know for sure what worked and what did not work. There are three .if blocks, each triggered by a menu selection. All three of them (PoASM, PoRC and PoLink) use CheckMenuItem. Two of them work and one did not. The only structural difference between the three is that the block triggered by IDM_POASM has three instances of CheckMenuItem whereas the other two has two instances. The reason for this is because setting the PoASM checkmark has to reset the JWasm checkmark. Now, the toggling of all three works correctly but in the case of setting the PoASM checkmark, the hPoASM flag refuses to set (the same happens with JWasm). So when the AssembleIt procedure runs and the string is built, since neither of the hPoASM and hJWasm flags are set the strings associated with them never gets built and the default (ml.exe) is used instead. That is the scenario.
I wonder if the usage of three instances of CheckMenuItem in the .if block somehow causes a problem when used by Windows 2000. It is possible, I suppose, maybe the stack decays because of the version of the API used by your OS. The whole thing does not make a whole lot of sense to me but I am forced to live with the reality that there is something funky about old versions of the CheckMenuItem API.
I am still using the toggling method but hPoASM and hJWasm, although still there, are not used anywhere in the program any longer and are scheduled for removal. Instead, in the AssembleIt procedure, I am testing the MF_CHECKED flag using the GetMenuState API. This evidently solves the problem.
You tell me, I have a headache. :red
-- Paul