Mark Wieder wrote:

All-

Does anyone have any clues about the "hasMemory" function? In the
documentation I see:

Comments:
This function is only partially implemented, and may not return useful
values on some platforms. It is included in Transcript for
compatibility with imported SuperCard projects.

That alone would keep me from using it, but I'm curious about what
"partially implemented" means.

The MC docs refer to the hasMemory function as "implemented for SuperCard compatibility". In my experience, "implemented for compatibility" means "implemented in such a way that it won't throw script errors even if it does nothing at all like what you expected."


In even blunter terms, "for compatibility" sometimes means the engine may lie to you by not throwing a script error when an expected behavior is not at all present.

For example, in SuperCard you can say "set the tool of window myWindow to pointer", and only the specified window has the pointer mode while all others remain governed by the more global "choose" command.

But in Transcript, "set the tool" is synonymous with "choose", so that all toplevel windows will have the same mode. AFAIK it isn't currently possible to have multiple toplevel windows with different modes (though an even more flexible option is proposed in <http://www.runrev.com/revolution/developers/bugdatabase/show_bug.cgi?id=623>).

So if you're porting from SC and "set the tool" doesn't throw a script error, you may miss learning the essential fact that what your script is attempting, and being allowed to run, really isn't doing what you want.

How this comes down with the hasMemory function I couldn't tell you. But I can say that once you walk away from OS 9 I doubt you'll have memory issues. Win32 has a pretty efficient virtual memory system, and of course the VM in UNIX, including OS X, is stellar. I've never had a low-memory condition in any OS other than Win95 (back when the machines shipped with barely enough to run the OS) and Mac OS 9.

My rule of thumb is to avoid tokens implemented "for compatibility". The old MC docs didn't even include any that weren't fully implemented, tucking them away into a note on compatibility with other tools.

My clients and I have gone one step further: we don't even build for OS 9 anymore until someone requests it. I know that's not an option in some markets, but thus far in our web publishing, medical, and qualitative analysis markets I haven't had a request for Classic yet. I know that roughly half of Mac users are still running OS 9, but the number is tilting rapidly and most of those customers aren't the ones buying software.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___________________________________________________________
 [EMAIL PROTECTED]       http://www.FourthWorld.com
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to