Out of conventional memory errors are from your setup in DOS. If you set up win95/b/98/se properly, you should get 624k of memory in DOS.

Make sure you use the NOEMS option in emm386.exe and it will probably help if you use the range exclusion i=B000-B7FF as well as this will give you enough upper memory to load everything you normally use as HIGH.

The rest is using LH in the autoexec.bat for things like mouse drivers and the like so that you end up with the maximum in DOS memory.
Doh! I just realized that I've been running DriveSpace 3 on these 9x PCs, the driver of which takes up a bunch of conventional memory. :stupid: That's why running DOS 6.22's Memmaker reported it couldn't free up any more memory. (My primary partition is FAT32 with 20 MB free and my logical partitions are compressed.)

Anyways, my laptop is networked to my Win2k PC, so I'm all set with copying the MASM32 directory from it to my laptop.

I thought I had the MASM32 enviromental variables set before VC's, but somehow things were changed around behind my back. :grin:
Posted on 2003-01-29 06:23:37 by Masmer
how are hotkeys done? GetAsyncKeyState? I remember using some old version where hotkeys would be activated even if the editor wasn't the active app.
Posted on 2003-01-29 06:29:21 by f0dder

Version 3 does all of the hotkeys in the main message loop using GetAsynchKeyState and the code seems to be very reliable. The problem with the old version was related to timing when opening and closing system dialog boxes but the new technique does not suffer from the problem.

Now for people with European keyboards, I don't understand this notation.

$ ( alt gr + 4 )
[ (alt gr + 8 )

The "gr" key is not something I have seen and as I live in Australia which is effectively monolanguage, I don't have any way to find out.

What I need to do is track down what the key equivalents are so I can see if there is a way around the problem. I could disable the hotkeys altogether but many people like having them available so this would defeat the purpose.

Does anyone know what the equivalent combinations are to those that are a problem. I could solve the problem with Shift+Ctrl+character if I can track this down.


Posted on 2003-01-29 07:04:11 by hutch--
why not handle hotkeys the usual way? RegisterHotKey or whatever. Using GetAsyncKeystate
seems rather kludgy, needing extra code to ensure you only process hotkeys when you're active.
The altgr key should be fully equivalent to pressing ctrl+alt at the same time, unless you're dealing
with raw scancodes. There's probably some b0rk in the way you're doing GetAsyncKeyState :]
Posted on 2003-01-29 07:10:19 by f0dder
Hi Sluggy,how are you?
What are the new features of Masm7? (sorry,i haven't any manual for masm7)
How can I get the manual for Masm7?

Thanks Sluggy,


Posted on 2003-01-29 09:13:10 by Vortex

So if I have it right, the alt gr + whatever key combination on a European keyboard produces the same result as ctrl + alt on a US English keyboard ?

I would not worry about GetAsynchKeyState, its been the first published API that has been reliable for key combinations as it does not appear to be sensitive to timing issues that plagued a lower level approach.


I think sluggy was referring to MASM32 version 7 but if you mean the version of ML.EXE and LINK.EXE that came in the XP DDK, it does not do anything exciting over 6.14 but the combination seems not to be able to do as many things.


Posted on 2003-01-29 14:36:08 by hutch--
on app level, yes, altgr ought to be equivalent to alt+ctrl. ctrl+alt+2 also
creates the '@' character. dunno if there's special cases where it behaves
differently (on scancode level it definitely does).

anyway, getasyncbla. why poll for a bunch of keys when you can get
a window message instead? seems like the old "hotkey activated when
editor isn't active" bug is gone in latest version, but pulling still reeks
of ye olde days :)
Posted on 2003-01-29 14:42:08 by f0dder

I used RegisterHotKey back in the early versions of QE but it had this irritating habit of working in other applications while QE was running, even though this is not its documented behaviour. It even worked in a DOS box which is unusual.

Thanks for the info on European keyboards, I will see if there is a way I can filter the problem out while retaining the hotkeys.


Posted on 2003-01-29 15:22:26 by hutch--
hm, my bad. RegisterHotKey indeed seems to be global, it's what I am using for my hhlookup thingie. Still, there must be some cleaner way to do it :)
Posted on 2003-01-29 15:44:39 by f0dder
I had about 10% of brain running this morning and did some testing on QE and it was responding to both Ctrl Alt + key when it was only supposed to respond the Ctrl + key so I changed the filtering to endure that the key combinations only responded to Ctrl + Key and it seems to be testing up OK at the moment.

What I need is for people who use a normal European keyboard to test the version of QE that I have attached and let me know if the problem has been solved.

All you need to do is overwrite the one in the new installation with this copy versioned as 3.0a and try out the normal key combinations to type characters like "@#$%" to see if they work properly without triggering the hotkeys.


GetAsynchKeyState is actually very well behaved inside a message loop. All I do is trap the keyboard messages directly from the MSG structure in the message loop so it is not continually polling like the old DOS stuff. Its normal to test for keystrokes in the main message loop in the same way that resource based hotkeys are done as it gives you the correct scope across an application.



Whoopz, brain still out of gear, I threw the key combination away so here is the next version that does it correctly.
Posted on 2003-01-29 17:01:50 by hutch--
QuickEditor 3.0a, German keyboard, Win2k SP3 and WinME: the AltGr key combinations required to type the characters @?\~|[]{} work flawlessly, and so did the other keys and key combinations that I tried. Great job!

Regards, Frank
Posted on 2003-01-30 18:20:07 by Frank

Thanks for testing this for me, it seems it is working across the European keyboards OK now.


Posted on 2003-01-31 05:02:18 by hutch--
Finally Soldier..., A new weapon has been Development.
Our Chance to freedom raise Up again. Thank you General Steve.
(Move...move...move... ka~boom). Get that Weapon Soldier.., go to hutch HeadQuarter, GOOOO ( hurrraaaaaaaaaaaaay..... Atack... tratatatatatata, Ka~boom)

Please Note: I smoking Marijuana before post this message and drink Mansion House. Dont call me a SchizoPrenic B'cause I already know that.

"No one Dare to against us, we are Supperior. What about you?"

Weapon Storage
Posted on 2003-02-05 08:59:42 by realvampire

Thank you General Steve.

No not general,he is a Field-Marshal.
Posted on 2003-02-05 09:29:40 by Vortex