From: owner-csmp@ee.mcgill.ca
Subject: csmp digest Vol 4 No 038

Today's Topics:
 
        C++ Member Function pointers with Toolbox calls?
        CW11 msl problems and relates
        Compiler plugins: MW, Apple or Motorola?
        Constructor for Java(1.0)
        Cross-Platform Development, Mac-Win95?
        Custom Menu Defs for Shift and Option Symbols?
        Disabling the Application Menu (maura?)
        Getting the FSpec of a folder within a folder
        How do you paste graphics into SimpleText docs?
        How to Hide Menu Bar ?
        How to make an invisible folder
        How to open a Control Panel with a script
        How to programaticaly make an alias of a file ?
        How to programaticaly open a Control Panel ?
        Netsprockets questions..
        Possible to anti-alias sprites?
        Posting to sumex-aim
        Process Manager: hiding
        Program Version #'s?
        RGB coloring
        Trouble with Drag and Drop
        [Q] Hiding Windows
        [Q] Where to upload my shareware game?
        faking mouse movement and button clicks



The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
(marka@ee.mcgill.ca).

The digest is a collection of article threads from the internet
newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
csmp.games. It is designed for people who read news semi-regularly and
want an archive of the discussions.  If you don't know what a
newsgroup is, you probably don't have access to it. Ask your systems
administrator(s) for details. If you don't have access to news, you
may still be able to post messages to the group by using a mail server
like anon.penet.fi (mail help@anon.penet.fi for more information).

Each issue of the digest contains one or more sets of articles (called
threads), with each set corresponding to a 'discussion' of a particular
subject.  The articles are not edited; all articles included in this digest
are in their original posted form (as received by our news server at
ee.mcgill.ca).  Article threads are not added to the digest until the last
article added to the thread is at least two weeks old (this is to ensure that
the thread is dead before adding it to the digest).  Article threads that
consist of only one message are generally not included in the digest.

The digests can be obtained by email, ftp or through the World Wide Web.

If you want to receive the digest by mail, send email to 
majordomo@ee.mcgill.ca with no subject and one of the following commands
as body:

    help		                Sends you a summary of commands
    subscribe csmp                      Adds you to the mailing list
    unsubscribe csmp                    Removes you from the list

Once you have subscribed, you will automatically receive each new
issue as it is created.

Back issues are available by ftp from Info-Mac mirror sites in the
per/csmp subdirectory, e.g.

  ftp://sumex-aim.stanford.edu/info-mac/per/csmp/

The contents of all back issues can be searched by accessing the
following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):

    http://marvin.stattech.com.au/search.html

They can also be searched through the following URLs, thanks to
Tim Tuck (Tim.Tuck@sensei.com.au):

    http://wais.sensei.com.au/searchform.html
    wais://wais.sensei.com.au:210/csmp?

-------------------------------------------------------

>From Ian Russell Ollmann <iano@scripps.edu>
Subject: C++ Member Function pointers with Toolbox calls?
Date: Mon, 24 Mar 1997 01:10:04 -0800
Organization: The Scripps Research Institute, La Jolla, CA



Short & quick:  
- ----------- 
I am having a problem feeding class member function pointers to toolbox
calls, because CW11 includes as the first argument to a class member
function a pointer to the class itself which the toolbox call is not
expecting. How do I get around this problem?  I'd really like the passed
function to have access to class protected data. 

The long version:
- --------------
Under CW11, when you define a class  member function , Code Warrior
includes a pointer to class as the first argument of the function into its
type. For example, if you declare a class as following:

class  exampleClass
{
	public:
		void 	IncrementX( void);

	private:
		int	x;
}

void exampleClass::IncrementX(void)
{
	x++;
}


IncrementX actually has a type of 

	(void *)(exampleClass const*)

rather than the expected type below for a regular C function.

	(void *)( void)

The problem lies here in that some mac toolbox calls take function
pointers so that user actions in controls or standard Dialog box types can
be used to affect window contents. Chief examples might be scrolling the
window in response to holding the mouse down on a scroll bar, or updating
the window contents if you are using the standard Apple color wheel dialog
box, the color picker. These toolbox calls typically expect functions to
be passed to them with a certain argument arrangement, which definitely
does not include a class pointer as the first argument.

How does one recast class member functions so that they do not require a
class pointer? Do you have to use a standard C function, and not a
class member function? I'd prefer the passed function has access to
protected/private data.


				Ian Ollmann






+++++++++++++++++++++++++++

>From lars.farm@ite.mh.se (Lars Farm)
Date: Mon, 24 Mar 1997 17:29:51 +0100
Organization: pv

Ian Russell Ollmann <iano@scripps.edu> wrote:

> Short & quick:  
> ------------- 
> I am having a problem feeding class member function pointers to toolbox
> calls, because CW11 includes as the first argument to a class member
> function a pointer to the class itself which the toolbox call is not
> expecting. How do I get around this problem?  I'd really like the passed
> function to have access to class protected data. 

The usual way follows this pattern. This assumes the callback allows you
to pass a value of your choice to the toolbox routine. That value should
be a pointer to the object with the real callback. Also, you (usually)
need to play with UPP's for the toolbox-callback.

class Callback {
   static pascal void tb_callback( Ptr p ) { 
      reinterpret_cast<Callback*>(p)->real_callback();
   }
   virtual void real_callback() { ... }
   Callback() {
     toolbox_routine_with_callback( tb_callback, this );
   }
};


-- 
Lars Farm; lars.farm@ite.mh.se  -  Limt: lars.farm@limt.se

+++++++++++++++++++++++++++

>From woody@alumni.caltech.edu (William Edward Woody)
Date: Mon, 24 Mar 1997 09:17:41 -0800
Organization: In Phase Consulting

MacMethods C++ <macmethods-c++@topsoft.org> wrote:

> Short & quick:  
> ------------- 
> I am having a problem feeding class member function pointers to toolbox
> calls, because CW11 includes as the first argument to a class member
> function a pointer to the class itself which the toolbox call is not
> expecting. How do I get around this problem?  I'd really like the passed
> function to have access to class protected data. 


Most Macintosh toolbox calls with a callback accept a 4-byte 'refCon'
or 'userPtr' data pointer which can be any value you like.

What I normally do is for each class which wants a callback, I create
a private static member which is the callback function. I pass that
static member to the callback. I pass a pointer to my class in that
4-byte 'refCon' or 'userPtr' data pointer.

And my static member looks like:

        static pascal blah MyCallback(blah)
        {
            MyClass *m;

            m = (MyClass *)( /*get refCon or userProc */ );
            m->MyCallbackMember( /*arguments*/ );
        }

Hope this helps.

                                                - Bill

-- 
William Edward Woody                 | In Phase Consulting
woody@alumni.caltech.edu             | Macintosh & Microsoft Windows
http://www.alumni.caltech.edu/~woody | http://www.znd.net/inphase

+++++++++++++++++++++++++++

>From Steve@emer.com (Steve Wilson)
Date: Mon, 24 Mar 1997 10:59:52 -0800
Organization: Emergent Behavior

In article <Pine.SGI.3.95.970324010732.12792C-100000@wong>, MacMethods C++
<macmethods-c++@topsoft.org> wrote:

> Short & quick:  
> ------------- 
> I am having a problem feeding class member function pointers to toolbox
> calls, because CW11 includes as the first argument to a class member
> function a pointer to the class itself which the toolbox call is not
> expecting. How do I get around this problem?  I'd really like the passed
> function to have access to class protected data. 

The short answer is use a static function.

But wait you say.  I need to get at the data in the class (for example if
your using a callback to scroll a window).  The toolbox sucks at handling
objects, so pretend you don't have any.  Use a static function.  To get at
your object inside the static function, you can stick a pointer to your
object into the callback refcon field (that's basically what it's for). 
Inside your static function, cast the refcon to be a pointer to your type
of object, then use this variable in anyplace where you would normally use
the "this" pointer.

Good luck,

Steve Wilson
Lead Developer of Spreadsheet 2000
Emergent Behavior
(415) 494-6763
Fax (415) 494-0570
mailto:Steve@emer.com
http://www.emer.com
http://members.aol.com/wilsonsd

---------------------------

>From jake@timewarp.net (Jake Luck)
Subject: CW11 msl problems and relates
Date: Mon, 17 Mar 1997 03:57:44 -0500
Organization: Columbia University

Hi, Mr. Liechty:

   Recently I took the time and made space for CW11. Unfortunately,
all my old code broke as a result of the new MSL lib. I have been reading
about the news group, which solve a few linking problems for me.

here is the setting that i am using on a 40mhz 040 running System 7.6/CW11
        (Libraries:)
              MSL C++.68kFar(4i/8d).Lib
              MSL C.68kFar(4i/8d).Lib
              MacOS.lib
              MSL Runtime68k.Lib
              MathLib68k Fa(4i/f/8d).Lib

        (Code Generation:)
              Code Model: Large
              Struct Alignment: 68k-4byte
             (checked checkboxes as follows)
              68020Codegen
              68881Codegen
              4-byte Ints
              8-byte Doubles
              Far Data
              Far Method Table
              Far String Constant
              Global Register Allocation.

I downloaded/installed all the updates from the website. I found that using 
this above setting no longer gives me the following errors

              Link Error   : test.cp: 'bad_cast::bad_cast(const
bad_cast&)' 16-bit 
              data reference to 'bad_cast::__vt' is out of range. etc

everything seem compiled/linked correctly, However when i run the program 
it dropsme straight to macsbug with the error

              System Error #15 at 4080BD5A _LoadSeg+0007A

so I attempted with something simple: I created a new ANSI C/C++ console project
from the stationary, in the helloworld.c file there is only the simple
code as follows.
the program crashed exactly the same way. 

             #include <stdio.h>
             #include <stdlib.h>
             #include <iostream.h>
              void main(void)
             {
                 cout << "Hello World\n";
             }


What am I doing wrong? Thank you so much for the help in advance.
(I would really like to see my code work with the new lib rather than
resorting to install the "obsolete" ANSI libs from the tools disc)


-Jake <jake@timewarp.net>

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Mon, 17 Mar 1997 12:18:22 -0500
Organization: Metrowerks

In article <jake-1703970357440001@bubble.schap.rhno.columbia.edu>,
jake@timewarp.net (Jake Luck) wrote:

- -%- Snip -%---
>here is the setting that i am using on a 40mhz 040 running System 7.6/CW11
>        (Libraries:)
>              MSL C++.68kFar(4i/8d).Lib
>              MSL C.68kFar(4i/8d).Lib
- -%- Snip -%---
>              MathLib68k Fa(4i/f/8d).Lib
>
>        (Code Generation:)
- -%- Snip -%---
>              68881Codegen
- -%- Snip -%---
>everything seem compiled/linked correctly, However when i run the program 
>it dropsme straight to macsbug with the error
>
>              System Error #15 at 4080BD5A _LoadSeg+0007A
- -%- Snip -%---

You are using the wrong MSL ANSI libraries.  you have 68881 generation so
you need the version with the F in it, Fa is far,  f is for floating
pointed coprocessor.

Ron

-- 
METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com
http://www.metrowerks.com/about/people/rogues.html#mwron

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Mon, 24 Mar 1997 11:31:32 -0500
Organization: Metrowerks

In article <tcwatson-2303971055020001@tc-1-097.tokyo.gol.com>,
tcwatson@gol.com (Thomas C. Watson) wrote:
 
>1) If you have downloaded the new compilers you'll want to rebuild your
>libraries regardless
>2) I haven't been able to get 68KMath or Runtime to rebuild, some files
>are missing

Check the access paths, I had this same problem, and I believe the problem
was I needed to delete the access path for MSL stuff then add it back in
again.  I'm not sure what it was and I lost the note from the engineer
that explained it but that was all it took.

Ron

-- 
 METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com 

---------------------------

>From paulpaul@knoware.nl (Paul Evenblij)
Subject: Compiler plugins: MW, Apple or Motorola?
Date: Tue, 18 Feb 1997 00:21:58 +0100
Organization: Knoware Internet

In the codewarrior newsgroup a short while back there was a discussion
about the relative merits of different C/C++ PPC compilers, notably
Metrowerks plugins, Apple MrC & MrCpp, and I think Motorola plugins. I
wonder if there are any definite conclusions regarding the efficiency of
the generated code.

For my employer I'm working on a large application, that has been
suffering from severe performance problems. Rather than investing in a
major source code overhaul, my employer hopes to gain by agressively
optimizing existing code. The original application was built in MPW, and
based on MacApp. Should I advise moving to CodeWarrior and installing
Motorola plugins, or staying with MPW and using MrCpp? The completeness
and compliance of the C++ implementation are not really issues. Speed of
the generated code is! Has anyone actually compared those compilers, or
does anyone know where comparative benchmarking results may be found? And
what about compilers for 68K, any big differences there?

(Serious issue, this, as my employer may decide to do a straight port of
the (non-OO) Windows version of the application to Mac, using the VC++
Cross-Development Edition...)

Thanks for any comments.

Paul


// Paul Evenblij
// Utrecht, The Netherlands

+++++++++++++++++++++++++++

>From themis@hrnet.fr (Frederic Kayser)
Date: Tue, 18 Feb 1997 03:17:34 +0100
Organization: Alliance (join the PowerPC Rebells)

Paul Evenblij <paulpaul@knoware.nl> wrote:

> For my employer I'm working on a large application, that has been
> suffering from severe performance problems. Rather than investing in a
> major source code overhaul, my employer hopes to gain by agressively
> optimizing existing code. The original application was built in MPW, and
> based on MacApp. Should I advise moving to CodeWarrior and installing
> Motorola plugins, or staying with MPW and using MrCpp? The completeness
> and compliance of the C++ implementation are not really issues. Speed of
> the generated code is!

The complete version of the Motorola compiler (mcc) works only with MPW,
you could take benefit of the KAP tools (restructuration/ optimisation)
provided with it, those are not avaible in the plugin version for CW.

-- 
Frederic Kayser
http://www.univ-mulhouse.fr/~kayser
mailto:themis@hrnet.fr

+++++++++++++++++++++++++++

>From carsten.kossendey@nrw-online.de (Carsten Kossendey)
Date: Tue, 18 Feb 1997 04:03:40 +0100
Organization: Nacamar Data Communications

Paul Evenblij <paulpaul@knoware.nl> wrote:

> In the codewarrior newsgroup a short while back there was a discussion
> about the relative merits of different C/C++ PPC compilers, notably
> Metrowerks plugins, Apple MrC & MrCpp, and I think Motorola plugins. I
> wonder if there are any definite conclusions regarding the efficiency of
> the generated code.
> 
[snip]
> 
> Thanks for any comments.
> 
> Paul
> 
> 
> // Paul Evenblij
> // Utrecht, The Netherlands

For computing intensive apps, the Motorola-generated code is a whole lot
faster than the Metrowerks-generated code. Since my main concern is
chess programming, I use the Motorola plug-in for CodeWarrior. Even
though some of the files in the project will not compile with any
optimizations turned on (Motorola support is working on this), the
Motorola-compiled version is already 25% faster than the
CodeWarrior-compiled version.

This will affect any computing intensive app (I hope), and can be
observed too by comparing the results of the ByteMark benchmark compiled
with either compiler. ByteMark is available pre-compiled with (older)
Metrowerks and Motorola compiler versions from the Byte Magazine
homepage. Source code is available, too.

Hope this helps.

-- 
Carsten Kossendey (carsten.kossendey@nrw-online.de)

+++++++++++++++++++++++++++

>From handleym@apple.com (Maynard Handley)
Date: Wed, 19 Feb 1997 16:35:38 -0800
Organization: Apple Computer

In article <tg3-1802971437210001@gillespy.rad.washington.edu>,
tg3@u.washington.edu (Thurman Gillespy III) wrote:

> In article <paulpaul-1802970021580001@huisie-ppp4.knoware.nl>,
> paulpaul@knoware.nl (Paul Evenblij) wrote:
> 
> If you hope to toss bad code at a great compiler to get good results, you
> are likely to be disappointed.
> 

While this is true (and with luck obvious to everyone on this group) it is
also true that the difference between a good and bad compiler is often a
factor of two. While MW is a nice fast compiler, it is by no stretch of the
imagination state of the art as an optimizing compiler.
In my opinion MrC 3.0 is usually a little better than mcc 4.0, but they
both usually do a very good job. Both will often surprise you at how smart
they were, (and sometimes disappoint you with how stupid they were). MW is
rarerly likely to surprise you with how smart it was.

Of course if you care about performance you will also use MrPlus as a
post-link tool.

Maynard

-- 
My opinion only

+++++++++++++++++++++++++++

>From tg3@u.washington.edu (Thurman Gillespy III)
Date: Tue, 18 Feb 1997 14:37:21 -0800
Organization: University of Washington

In article <paulpaul-1802970021580001@huisie-ppp4.knoware.nl>,
paulpaul@knoware.nl (Paul Evenblij) wrote:

>In the codewarrior newsgroup a short while back there was a discussion
>about the relative merits of different C/C++ PPC compilers, notably
>Metrowerks plugins, Apple MrC & MrCpp, and I think Motorola plugins. I
>wonder if there are any definite conclusions regarding the efficiency of
>the generated code.
>
>For my employer I'm working on a large application, that has been
>suffering from severe performance problems. Rather than investing in a
>major source code overhaul, my employer hopes to gain by agressively
>optimizing existing code
[...]

If you hope to toss bad code at a great compiler to get good results, you
are likely to be disappointed.

You should begin with profiling your code to indentify and improve the
performance bottlenecks.

>(Serious issue, this, as my employer may decide to do a straight port of
>the (non-OO) Windows version of the application to Mac, using the VC++
>Cross-Development Edition...)

Warn us ahead of time, please, so we know when to duck.

-- 
Thurman Gillespy III, M.D.    |   tg3@u.washington.edu
Department of Radiology       |
Univerity of Washington       | 
Seattle, Washington, USA      |

+++++++++++++++++++++++++++

>From briand@datawatch.com (Brian Dupuis)
Date: Thu, 20 Feb 1997 10:02:33 -0500
Organization: Datawatch Corporation

In article <paulpaul-1802970021580001@huisie-ppp4.knoware.nl>,
paulpaul@knoware.nl (Paul Evenblij) wrote:

> For my employer I'm working on a large application, that has been
> suffering from severe performance problems. Rather than investing in a
> major source code overhaul, my employer hopes to gain by agressively
> optimizing existing code. The original application was built in MPW, and
> based on MacApp. Should I advise moving to CodeWarrior and installing
> Motorola plugins, or staying with MPW and using MrCpp? The completeness
> and compliance of the C++ implementation are not really issues. Speed of
> the generated code is! Has anyone actually compared those compilers, or
> does anyone know where comparative benchmarking results may be found? And
> what about compilers for 68K, any big differences there?

   This is a rather large generalization,  but since there is no
description of the type of application this is (ie. number crunching, UI
intensive,  database,  etc.),  a generalization is pretty much warranted.

   If the application is displaying "severe performance problems",  I would
hazard to guess that a change in compilers wouldn't provide a dramatic
efficiency increase.  You may see a percentage point or two overall,  but
that would be all.  Of course,  if the application in question is very
calculation intensive,  you may very well see good improvements.

   Just my 2 cents worth,  if that.

=====================================================================
| Brian J. Dupuis       | <P> (919)833-1877 <F> (919)833-7475       |
| Software Analyst      | <E> briand@datawatch.com                  |
| Datawatch Corporation | finger gateway.datawatch.com for PGP key  |
=====================================================================
|                 "I'm Brian,  and so's my wife!"                   |
=====================================================================

+++++++++++++++++++++++++++

>From Doug Hockin <dough@ft-b.isc-br.com>
Date: Sat, 22 Feb 1997 20:02:38 -0800
Organization: Olivetti North America

Check out Diab Data's (www.ddi.com) compilers.  They are excellent.

-- Doug

+++++++++++++++++++++++++++

>From "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz>
Date: 2 Mar 97 22:03:38 GMT
Organization: Central Institute of Technology



Brian Dupuis <briand@datawatch.com> wrote in article
<briand-ya02408000R2002971002330001@news-server.interpath.net>...
> In article <paulpaul-1802970021580001@huisie-ppp4.knoware.nl>,
> paulpaul@knoware.nl (Paul Evenblij) wrote:
> 
> > For my employer I'm working on a large application, that has been
> > suffering from severe performance problems. Rather than investing in a
> > major source code overhaul, my employer hopes to gain by agressively
> > optimizing existing code. The original application was built in MPW,
and
> > based on MacApp. Should I advise moving to CodeWarrior and installing
> > Motorola plugins, or staying with MPW and using MrCpp? The completeness
> > and compliance of the C++ implementation are not really issues. Speed
of
> > the generated code is! Has anyone actually compared those compilers, or
> > does anyone know where comparative benchmarking results may be found?
And
> > what about compilers for 68K, any big differences there?

>    If the application is displaying "severe performance problems",  I
would
> hazard to guess that a change in compilers wouldn't provide a dramatic
> efficiency increase.  You may see a percentage point or two overall,  but
> that would be all.  Of course,  if the application in question is very
> calculation intensive,  you may very well see good improvements.

Sorry brian, you got pretty confused on that reply...

Most compilers don't provide a dramatic speed increase, but motorola's
C/C++ SDK does.
Basically, it's a plugin that can optimise code for any specific PPC
processor.
It works within CodeWarrior or SPM, you can work it through MPW from the
SDK.


+++++++++++++++++++++++++++

>From tandersen@siennasoft.com (Tom Andersen)
Date: Mon, 03 Mar 1997 10:39:47 -0500
Organization: Sienna Software

In article <01bc274d$69da23c0$3e193b9c@A413-08.cit.ac.nz>, "Andrew
McPherson" <MCPHERAN@mail.cit.ac.nz> wrote:

> In article <paulpaul-1802970021580001@huisie-ppp4.knoware.nl>,
> paulpaul@knoware.nl (Paul Evenblij) wrote:

> For my employer I'm working on a large application, that has been
> suffering from severe performance problems. Rather than investing in a
> major source code overhaul, my employer hopes to gain by agressively
> optimizing existing code. The original application was built in MPW,
>and
> based on MacApp. Should I advise moving to CodeWarrior and installing
> Motorola plugins, or staying with MPW and using MrCpp? The completeness
> and compliance of the C++ implementation are not really issues. Speed
>of
> the generated code is! Has anyone actually compared those compilers, or
> does anyone know where comparative benchmarking results may be found?
>And
> what about compilers for 68K, any big differences there?
>

Paul,

I tried the Motorola Compiler on our C++ PowerPlant application and with a
lot of optimizing switches turned on (-O4 and inlining, etc) the Code
Speed was slighty _slower_ than the metrowerks C++ compiler! The test code
was C++ integer based graphics processing with a complex mapping
proceedure.   

The Motorola compiler might be good at C number crunching, but I do not
think the C++ optimizing is all there. 

MrCpp is reputedly the best C++ compiler for the Mac out there. I could
not get it to compile our application in the one day I allocated for the
try. 

If you want the app to run faster, profile it and figure out what to
improve. It might only be one or two areas which need better algoritims. 

Good Luck.

-- 
Tom Andersen
Sienna Software, Inc
www.siennasoft.com
416 926 2174
tandersen@siennasoft.com

+++++++++++++++++++++++++++

>From marssaxman@sprynet.com.antispam (Mars Saxman)
Date: 11 Mar 1997 07:47:51 GMT
Organization: Red Planet Software

In article <01bc274d$69da23c0$3e193b9c@A413-08.cit.ac.nz>, "Andrew
McPherson" <MCPHERAN@mail.cit.ac.nz> wrote:
>In article
<briand-ya02408000R2002971002330001@news-server.interpath.net>, "Brian
Dupuis" <briand@datawatch.com> wrote:
[snip question about speeding up program]
>>    If the application is displaying "severe performance problems",  I would
>> hazard to guess that a change in compilers wouldn't provide a dramatic
>> efficiency increase.  You may see a percentage point or two overall,  but
>> that would be all.  Of course,  if the application in question is very
>> calculation intensive,  you may very well see good improvements.
> 
> Sorry brian, you got pretty confused on that reply...
> 
> Most compilers don't provide a dramatic speed increase, but motorola's 
C/C++ SDK does.
> Basically, it's a plugin that can optimise code for any specific PPC
processor.
> It works within CodeWarrior or SPM, you can work it through MPW from the SDK.

Motorola's compiler may indeed speed software up significantly, but it is
a generally accepted rule that optimization *must* begin with the
high-level algorithms. 

It doesn't matter if your compiler produces the absolute most efficient
code possible for your bubblesort algorithm - it's still a bubblesort, and
switching to insert sort or maybe quicksort with *unoptimized* code is
still going to beat the optimized-to-all-get-out bubblesort no matter
what.

This is just the way programming works. Optimization is your
responsibility, and starts at the high level. Brian's point is that
getting a better compiler may help at the low level, but it isn't going to
solve poor design decisions - and these design flaws are most likely what
is causing the slowdown.

Optimizing compilers are very nice for tightening up small loops, and
that's about all. Think of the optimizer as a tool to do a little more
cleanup after you're done, not as a catch-all savior that lets you write
bad code and get away with it. 

-Mars

+++++++++++++++++++++++++++

>From thegoat4@airmail.net (Bryant Brandon)
Date: Fri, 14 Mar 1997 16:39:21 -0600
Organization: Anti Christian Coalition

In article <marssaxman-1003972349110001@hd68-134.compuserve.com>,
marssaxman@sprynet.com.antispam (Mars Saxman) wrote:

[...]

>Optimizing compilers are very nice for tightening up small loops, and
>that's about all. Think of the optimizer as a tool to do a little more
>cleanup after you're done, not as a catch-all savior that lets you write
>bad code and get away with it. 
>
>-Mars


   While on the topic of optimising, here's a suggestion to MW:

   I have a global struct called "G" with a number of fields in it,
naturally.  In a subroutine, I might reference this struct a hundred times
or more.  Each time, the compiler loads the address of G and then offsets
it, fairly inefficient.  To get around this problem, I must make a
reference to the field of the "G" struct that I'm accessing, so I have
direct access to the field I want and save a couple hundred bytes of
code.  It sure would be nice if the optimiser would automatically do this
for me...
   Also, if the "G" struct is declared static, why not just have the compiler
                                       ------
generate names for all of the fields and directly access them from my
code.  Like this:

   static struct {
      int a;
      long b;
   } G = {
      4,
      32679
   };

   Let's assume that G is at 0x0000 for the sake of argument.  In my code
wherever I access G.a, the compiler would just insert a reference to 0x000
(it already does this), but if I were to access G.b, the compiler
presently loads in the address of G, adds two(or four, depending on the
settings), and then references that.  Why not just directly access 0x0002
instead?
   Of course, this might not work with chars because they don't always
line up on two byte boundaries.

   Anyhow, see what you think...

B.B.

---------------------------

>From drayla@pacbell.net (Derek Rayla)
Subject: Constructor for Java(1.0)
Date: Mon, 10 Mar 1997 06:44:38 -0800
Organization: A customer of Pacific Bell Internet Services



Well to make a long question short, I was wondering if someone could let a
novice programmer in on how to use constructor for java.  I read the
manual and i think I understand what to do but when i try to implement it
i get weird errors, not syntaxical but at runtime i get errors from the
applet viewer.  thought there might be others out there with my sorts of
problems.

does 
      Reanimator.Reanimate(inClassName, inObjectName) 

I am very unclear on what is being done....

Any good books out on the market that anyone can suggest?

-Thanks again-

D--

drayla@pacbell.net
webmaster@smcccd.cc.ca.us
wmaster@pacbell.net

+++++++++++++++++++++++++++

>From msbishop@ix.netcom.com (Matt Bishop)
Date: 12 Mar 1997 04:41:48 GMT
Organization: Netcom

In article <drayla-1003970644380001@ppp-206-170-5-9.rdcy01.pacbell.net>,
drayla@pacbell.net (Derek Rayla) wrote:

>Well to make a long question short, I was wondering if someone could let a
>novice programmer in on how to use constructor for java.  I read the
>manual and i think I understand what to do but when i try to implement it
>i get weird errors, not syntaxical but at runtime i get errors from the
>applet viewer.  thought there might be others out there with my sorts of
>problems.
>
>does 
>      Reanimator.Reanimate(inClassName, inObjectName) 
>

I don't know why they call it "Reanimator" Since nothing is animated!  I
think it will be developed into something like that later.

All Reanimator does is make up a list of the GUI elements--the buttons,
textboxes, canvases, menus, and others, along with their relevant
info--font, colors, labels, position, etc.  It uses this list to do two
things--draw them on the screen in the right place and help you find them
without having to look too hard.  The looking part is done in the Locate
method.

Someone else with more experience with them will undoubtedly have more to
say about the subject, and I would be interested in hearing it.


Matt Bishop
msbishop@NoSpamPlease.ix.netcom.com
- --------------------------
"That's all I have to say about that."

+++++++++++++++++++++++++++

>From grabe@indigo.ie (Karl Grabe)
Date: 12 Mar 1997 23:24:47 GMT
Organization: <none>

To be honest, using constructor for java is a bit of a mess. It took me
ages, as a novice, to figure out how to use it.
However a very good alternative is to us JPOB generator. Check this site:
http://w3.teaser.fr/~fpillet/JPob/

And an example is included. Using this generator, you get much smaller &
faster code (50k as opposed to 500k in my case.
Check http://indigo.ie/~grabe/TaxCalc/applet/TaxCalc.html (Constructor w. JPOB)
as opposed to
http://www.geocities.com/WallStreet/3413/TaxCalc.html (Constructor only)

The big problem with Constructor only is that it generates a Class for
EVERY item in the applet GUI (every button, popup etc). So you wind up
with loads of classes. Then I could only get the applet to run as runnable
zip file. IE (on a Mac anyway) doesn't work with Zip files.

Maybe I've approaced it the wrong way - some real Applet examples from MW
would help.

Hope this helps, again check out JPOB generator (it's free)
-Karl




In article <msbishop-ya02408000R1103972341540001@nntp.ix.netcom.com>,
msbishop@ix.netcom.com (Matt Bishop) wrote:

> In article <drayla-1003970644380001@ppp-206-170-5-9.rdcy01.pacbell.net>,
> drayla@pacbell.net (Derek Rayla) wrote:
> 
> >Well to make a long question short, I was wondering if someone could let a
> >novice programmer in on how to use constructor for java.  I read the
> >manual and i think I understand what to do but when i try to implement it
> >i get weird errors, not syntaxical but at runtime i get errors from the
> >applet viewer.  thought there might be others out there with my sorts of
> >problems.
> >
> >does 
> >      Reanimator.Reanimate(inClassName, inObjectName) 
> >
> 
> I don't know why they call it "Reanimator" Since nothing is animated!  I
> think it will be developed into something like that later.
> 
> All Reanimator does is make up a list of the GUI elements--the buttons,
> textboxes, canvases, menus, and others, along with their relevant
> info--font, colors, labels, position, etc.  It uses this list to do two
> things--draw them on the screen in the right place and help you find them
> without having to look too hard.  The looking part is done in the Locate
> method.
> 
> Someone else with more experience with them will undoubtedly have more to
> say about the subject, and I would be interested in hearing it.
> 
> 
> Matt Bishop
> msbishop@NoSpamPlease.ix.netcom.com
> ----------------------------
> "That's all I have to say about that."

________________________________________________

Karl Grabe                       grabe@indigo.ie
Cork, Ireland           http://indigo.ie/~grabe/

---------------------------

>From jimw@emu.com (Jim Wintermyre)
Subject: Cross-Platform Development, Mac-Win95?
Date: 3 Mar 1997 02:29:50 GMT
Organization: E-mu Systems, Inc

Hi -

We're considering using Microsoft Visual C++ cross-development edition
to develop an app that needs to run on Windows 95 and the mac.  I have
a lot of mac programming experience, but virtually no windows
experience.  I've been using the VC++ tools a bit, and they seem to
work pretty well, but since I don't know squat about the Windows API
and very little about MFC, I don't feel like I can make an informed
decision about whether or not to use the product.  At this point, I
feel like we might be better off letting the windows programmer do the
Win95 version, and letting me do the mac version with PowerPlant or
something (to a common spec).  We have tried to factor out as much
common code as possible, but the fact is most of this program is
user-interface.

So, does anyone have any experience using the VC++ cross-development
tools?  Any other ideas?  BTW, our primary concern is performance (we
have data coming in over the serial port, and need to update graphics
in real-time in response to this data), and making sure that the
finished app "looks and feels" like a native app, whether it's on Win95
or mac.  We checked into some other cross-platform tools, and it seemed
that they either had too much overhead, or they suffered from the
"lowest-common-denominator" syndrome.

Thanks,
Jim

jimw@emu.com

P.S. I also checked out the Willows toolkit a couple months ago, and it
looked promising, but I haven't been able to get in touch with anyone
there, and their website is down.  Anyone know what's up with them?

+++++++++++++++++++++++++++

>From j-jahnke@uchicago.edu (Jerome Jahnke)
Date: Tue, 4 Mar 1997 03:35:04 GMT
Organization: BSD Academic Computing

In article <5fdd2u$kqf@news.scruz.net>, jimw@emu.com (Jim Wintermyre) wrote:

> Hi -
> 
> We're considering using Microsoft Visual C++ cross-development edition
> to develop an app that needs to run on Windows 95 and the mac.  I have
> a lot of mac programming experience, but virtually no windows
> experience.  I've been using the VC++ tools a bit, and they seem to
> work pretty well, but since I don't know squat about the Windows API
> and very little about MFC, I don't feel like I can make an informed
> decision about whether or not to use the product.

MFC really can't be done without VC++, well this is not exactly true, but
Developer Studio was designed to work with MFC, it really makes life easier
in some aspects, although it's browsing sucks rocks. This is a feature that
could use one hell of a lot of improvement and is vital if you are
approaching any class lib for the first time. I browse on my Mac with
ObjectMaster. I edit some there too. And move the files back and forth
constantly. It is a shame the ObjectMaster 3.0 for windows never appeared.

> At this point, I
> feel like we might be better off letting the windows programmer do the
> Win95 version, and letting me do the mac version with PowerPlant or
> something (to a common spec).  We have tried to factor out as much
> common code as possible, but the fact is most of this program is
> user-interface.

Have you got a deadline?? If so hire a Windows programmer, MFC is very
closely tied to the Win32SDK, which is to say you gotta know it to mess
with MFC, and OLE factors in quite a bit as well. It is a tough row to hoe
for a first time windows programmer with a deadline.
 
> So, does anyone have any experience using the VC++ cross-development
> tools?  Any other ideas?  BTW, our primary concern is performance (we
> have data coming in over the serial port, and need to update graphics
> in real-time in response to this data), and making sure that the
> finished app "looks and feels" like a native app, whether it's on Win95
> or mac.  We checked into some other cross-platform tools, and it seemed
> that they either had too much overhead, or they suffered from the
> "lowest-common-denominator" syndrome.

All the cross platform libs I have seen suffer from this as well. My
personaly prefernce is to do it once in each system moving only stuff that
is in "pure" C++.

I do have a friend who seems to have been able to abstract them both quite
a bit in order to make a very nice dual platform product of a molecular
modelar. It sounds as though he has one code base for both. He wrote both
interfaces too. I do know he was using the Codewarrior tools for this. I
found them too unreliable to do real work with and have moved to VC++ 4.2
and am awaiting 5.0 with bated breath.

Jer,

-- 
Jerome Jahnke
Biological Sciences Division/ Office of Academic Computing
University of Chicago

+++++++++++++++++++++++++++

>From kevin@shsmedia.com (Kevin Killion)
Date: Mon, 03 Mar 1997 22:00:22 -0600
Organization: Stone House Systems, Inc.


jimw@emu.com (Jim Wintermyre) wrote:

> >I feel like we might be better off letting the windows programmer do the
> >Win95 version, and letting me do the mac version with PowerPlant or
> >something (to a common spec)...

MWRon@metrowerks.com (MW Ron) wrote:

> This is just my opinion, but I think you are correct.  I don't think any
> cross platform whether it is MFC for Mac or ZINC or some other cross
> platform tool will ever be as efficient...

Ron --

Won't Rhapsody be a de facto crossplatform development environment? 
Writing an OpenStep app already can target WinNT, and Win95 is a short
step away.

Ron, here's the save-the-business question a lot of us are facing:
   Is it realistic to hope that if I write for Rhapsody, then I will be
able to deliver my app on both Rhapsody AND Windows 95?

And just to shoot for the moon with my hopes, I'd like to be able to do
that with Metrowerks Pascal!

-- Kevin Killion

- -----------------------------------------------------------
Kevin Killion                              kevin@shsmedia.com
Stone House Systems, Inc.            http://www.mcs.net/~shs/

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Mon, 03 Mar 1997 11:47:35 -0500
Organization: Metrowerks

In article <5fdd2u$kqf@news.scruz.net>, jimw@emu.com (Jim Wintermyre) wrote:

>I feel like we might be better off letting the windows programmer do the
>Win95 version, and letting me do the mac version with PowerPlant or
>something (to a common spec).  We have tried to factor out as much
>common code as possible, but the fact is most of this program is
>user-interface.

This is just my opinion, but I think you are correct.  I don't think any
cross platform whether it is MFC for Mac or ZINC or some other cross
platform tool will ever be as efficient as writing the interface in a
native API/Framework.  From your description this efficient interface
seems to be especially important for your application.

Ron

-- 
METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com
http://www.metrowerks.com/about/people/rogues.html#mwron

+++++++++++++++++++++++++++

>From Werner Donne' <wdonne@ibm.net>
Date: Tue, 04 Mar 1997 12:25:14 +0100
Organization: Re

MW Ron wrote:
> 
> In article <5fdd2u$kqf@news.scruz.net>, jimw@emu.com (Jim Wintermyre) wrote:
> 
> >I feel like we might be better off letting the windows programmer do the
> >Win95 version, and letting me do the mac version with PowerPlant or
> >something (to a common spec).  We have tried to factor out as much
> >common code as possible, but the fact is most of this program is
> >user-interface.
> 
> This is just my opinion, but I think you are correct.  I don't think any
> cross platform whether it is MFC for Mac or ZINC or some other cross
> platform tool will ever be as efficient as writing the interface in a
> native API/Framework.  From your description this efficient interface
> seems to be especially important for your application.
> 
> Ron

The real performance penalty can't be more than an extra function call
between your code and the native API. Extra code in a framework is
supposed to be added value.
That extra function call will not be noticed. We are talking about a few
cycles. CPU time in the client is nothing compared to the human action
that preceeds it and nothing compared to resource access like files or
database. CPU time spent in the interface code itself is not important.
--
Werner Donne'
Re BVBA
Leuvenselaan 172b
B-3300 Tienen
Tel: (+32) 16 810203
Fax: (+32) 16 820826
E-mail: wdonne@ibm.net

+++++++++++++++++++++++++++

>From "Niels J Nielsen" <njn@dcg.dk>
Date: 4 Mar 1997 14:12:29 GMT
Organization: DataCentralen GeoData

Using "Microsoft Visual C++ cross-development edition " enables you to use
your MFC-experience to create a Macintosh-application.
Not the other way around !

Performance is a problem (to my knowledge).

Niels J Nielsen
DC Geodata
- ----------------------------------
Jim Wintermyre <jimw@emu.com> wrote in article
<5fdd2u$kqf@news.scruz.net>...
> Hi -
> 
> We're considering using Microsoft Visual C++ cross-development edition
> to develop an app that needs to run on Windows 95 and the mac.  I have
> a lot of mac programming experience, but virtually no windows
> experience.  I've been using the VC++ tools a bit, and they seem to
> work pretty well, but since I don't know squat about the Windows API
> and very little about MFC, I don't feel like I can make an informed
> decision about whether or not to use the product. 
[...]
BTW, our primary concern is performance 

+++++++++++++++++++++++++++

>From Ian Douglas <douglas@ibm.net>
Date: Tue, 04 Mar 1997 08:07:39 -0500
Organization: WTC

Jim Wintermyre wrote:
> 
> Hi -
> 
> We're considering using Microsoft Visual C++ cross-development edition
> to develop an app that needs to run on Windows 95 and the mac.  I have
> a lot of mac programming experience, but virtually no windows
> experience.  I've been using the VC++ tools a bit, and they seem to
> work pretty well, but since I don't know squat about the Windows API
> and very little about MFC, I don't feel like I can make an informed
> decision about whether or not to use the product.  At this point, I
> feel like we might be better off letting the windows programmer do the
> Win95 version, and letting me do the mac version with PowerPlant or
> something (to a common spec).  We have tried to factor out as much
> common code as possible, but the fact is most of this program is
> user-interface.
> 
> So, does anyone have any experience using the VC++ cross-development
> tools?  Any other ideas?  BTW, our primary concern is performance (we
> have data coming in over the serial port, and need to update graphics
> in real-time in response to this data), and making sure that the
> finished app "looks and feels" like a native app, whether it's on Win95
> or mac.  We checked into some other cross-platform tools, and it seemed
> that they either had too much overhead, or they suffered from the
> "lowest-common-denominator" syndrome.
> 
> Thanks,
> Jim
> 
> jimw@emu.com
> 
> P.S. I also checked out the Willows toolkit a couple months ago, and it
> looked promising, but I haven't been able to get in touch with anyone
> there, and their website is down.  Anyone know what's up with them?

Did you have a look at Zinc?  We are currently using it to do Mac, OS/2
and Windows (95, NT and 3.1).  Printing support is almost useless
though.

Ian D.S. Douglas                    TEL (613) 599-5046
Director of Technology              CEL (613) 724-6382
Workplace Technologies Corporation  FAX (613) 764-3280
135 Michael Cowpland Drive          INET douglas@ibm.net
Kanata, Ont. Canada K2M-2E9

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Tue, 04 Mar 1997 13:26:32 -0500
Organization: Metrowerks

In article <kevin-0303972200220001@shs.pr.mcs.net>, kevin@shsmedia.com
(Kevin Killion) wrote:

 
>And just to shoot for the moon with my hopes, I'd like to be able to do
>that with Metrowerks Pascal!

Hi Kevin, 

Marcel informs me that ObjectPascal is (almost) a freebee because it's
similar to Objective-C.

Metrowerks is currently changing OP's method dispatching to use OC's,
after that we're going to augment OP to support all the facilities of OC
so users will have complete access to the OpenStep framework.

-- 
METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com
http://www.metrowerks.com/about/people/rogues.html#mwron

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Tue, 04 Mar 1997 13:23:04 -0500
Organization: Metrowerks

In article <j-jahnke-ya023180000303972135040001@uchinews.uchicago.edu>,
j-jahnke@uchicago.edu (Jerome Jahnke) wrote:
 
>MFC really can't be done without VC++, well this is not exactly true, but
>Developer Studio was designed to work with MFC, it really makes life easier

I'd like to restate this in a different light

Developer Studio is not very useful without MFC and strict adherence to
the Code Generation it creates. Well, it is a good resource editor.

MFC is a standalone Application Framework and there are  other Code
Generator, rescource compilers that you can use or develop your own style
manner using it.  Metrowerks fully supports MFC on both the Mac Hosted and
Windows Hosted compilers.

Ron

-- 
METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com
http://www.metrowerks.com/about/people/rogues.html#mwron

+++++++++++++++++++++++++++

>From kilroy@netcom.com (Jeffrey S. Shulman)
Date: Tue, 4 Mar 1997 19:25:36 GMT
Organization: Netcom On-Line Services

kevin@shsmedia.com (Kevin Killion) writes:

>Won't Rhapsody be a de facto crossplatform development environment? 
>Writing an OpenStep app already can target WinNT, and Win95 is a short
>step away.

>Ron, here's the save-the-business question a lot of us are facing:
>   Is it realistic to hope that if I write for Rhapsody, then I will be
>able to deliver my app on both Rhapsody AND Windows 95?

No. You misunderstand. Rhapsody will RUN on PowerPC and Intel
hardware. Thus if you code you app to the Rhapsody API you will be
able to deliver it on both hardware platforms (with a recompile, of
course).

Rhapsody is an entire OS like Windows 95/NT & Mac OS. It is just a cross
hardware platform OS (like WinNT can run on Intel and DEC hardware).

Jeff

+++++++++++++++++++++++++++

>From Steve@emer.com (Steve Wilson)
Date: Tue, 04 Mar 1997 16:26:38 -0800
Organization: Emergent Behavior

In article <kilroyE6J9yo.7ys@netcom.com>, kilroy@netcom.com (Jeffrey S.
Shulman) wrote:

> No. You misunderstand. Rhapsody will RUN on PowerPC and Intel
> hardware. Thus if you code you app to the Rhapsody API you will be
> able to deliver it on both hardware platforms (with a recompile, of
> course).
> 
> Rhapsody is an entire OS like Windows 95/NT & Mac OS. It is just a cross
> hardware platform OS (like WinNT can run on Intel and DEC hardware).

While what you say is true, you are missing part of it.  OpenStep is an OS
by itself, but you can also use the OpenStep libraries on top of Windows
NT.  Thus your OpenStep application can become a Windows NT application
(with a recompile and a little tweaking).  Version 4.2 of OpenStep is also
supposed to provide libraries for Win 95.  Let's hope it does!

-Steve

Steve Wilson
Lead Developer of Spreadsheet 2000
Emergent Behavior
(415) 494-6763
Fax (415) 494-0570
mailto:Steve@emer.com
http://www.emer.com
http://members.aol.com/wilsonsd

+++++++++++++++++++++++++++

>From jhouchin@texoma.com (Jimmie Houchin)
Date: Wed, 05 Mar 1997 16:08:15 GMT
Organization: Internet Texoma

If you choose to develop the GUI in each platform independently, I
would like to suggest taking a look at Optima++ for the Windows
development it is a C++ RAD. It offers drag and drop GUI programming,
reference cards, an excellent help system, it is an all around
excellent environment. You can develop your interface very rapidly,
and if most of your code behind the interface is standard and platform
independent then you should be able to code your app fairly easily.

You can go to the Powersoft Optima++ homepage for more information.
http://www.powersoft.com/products/internet/optima/optima2.html

There is a demo which is available from the homepage.

Enjoy,

Jimmie Houchin

MWRon@metrowerks.com (MW Ron) wrote:
>In article <5fdd2u$kqf@news.scruz.net>, jimw@emu.com (Jim Wintermyre) wrote:
>
>>I feel like we might be better off letting the windows programmer do the
>>Win95 version, and letting me do the mac version with PowerPlant or
>>something (to a common spec).  We have tried to factor out as much
>>common code as possible, but the fact is most of this program is
>>user-interface.
>
>This is just my opinion, but I think you are correct.  I don't think any
>cross platform whether it is MFC for Mac or ZINC or some other cross
>platform tool will ever be as efficient as writing the interface in a
>native API/Framework.  From your description this efficient interface
>seems to be especially important for your application.
>
>Ron
>
>-- 
>METROWERKS                   Ron Liechty
>"Software at Work"    MWRon@metrowerks.com
>http://www.metrowerks.com/about/people/rogues.html#mwron


+++++++++++++++++++++++++++

>From jordanz@altura.com
Date: Tue, 04 Mar 1997 09:28:14 -0800
Organization: scruz-net

In article <j-jahnke-ya023180000303972135040001@uchinews.uchicago.edu>,
j-jahnke@uchicago.edu (Jerome Jahnke) wrote:

> I browse on my Mac with
> ObjectMaster. I edit some there too. And move the files back and forth
> constantly. It is a shame the ObjectMaster 3.0 for windows never appeared.

Actually, Object Master is alive and well (including the 3.0 version for
Windows). Our company, Altura Software, recently purchaseds OM from ACI.
Check out our web page for details:
   http://www.altura.com

-- 
Jordan Zimmerman
Altura Software, Inc.
home page: http://www.altura.com/jordanz

Don't blame me, I voted for Harry Browne!    
http://www.harrybrowne96.org   1 (800) 682 1776

+++++++++++++++++++++++++++

>From "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz>
Date: 5 Mar 97 02:01:58 GMT
Organization: Central Institute of Technology

Jim Wintermyre <jimw@emu.com> wrote in article
<5fdd2u$kqf@news.scruz.net>...
> Hi -
> 
> We're considering using Microsoft Visual C++ cross-development edition
> to develop an app that needs to run on Windows 95 and the mac.

Don't buy it, it sucks.

> BTW, our primary concern is performance (we
> have data coming in over the serial port, and need to update graphics
> in real-time in response to this data), and making sure that the
> finished app "looks and feels" like a native app, whether it's on Win95
> or mac.  We checked into some other cross-platform tools, and it seemed
> that they either had too much overhead, or they suffered from the
> "lowest-common-denominator" syndrome.

If it's performance you want, use Metrowerks CodeManager.
It's based on microsuck Visual SourceSafe 4.0a, but it's a hell of a lot
better.

It's best strength is it's source code control, version control and getting
rid of the windoze api technicalities...


+++++++++++++++++++++++++++

>From "Jim Johnson" <jimj@seattle.jumpmusic.com>
Date: 6 Mar 1997 00:04:54 GMT
Organization: Jump! Music

Nobody will take your opinions seriously when you use terms like "windoze"
and "microsuck".

Besides, the guy was asking about a _development_ system, not source code
control.

-- 
Jim Johnson
Jump! Music
http://www.jumpmusic.com
http://www.miraclepiano.com

Andrew McPherson <MCPHERAN@mail.cit.ac.nz> wrote in article
<01bc2901$12b21ca0$18193b9c@A413-02.cit.ac.nz>...
> Jim Wintermyre <jimw@emu.com> wrote in article
> <5fdd2u$kqf@news.scruz.net>...
> > Hi -
> > 
> > We're considering using Microsoft Visual C++ cross-development edition
> > to develop an app that needs to run on Windows 95 and the mac.
> 
> Don't buy it, it sucks.
> 
> > BTW, our primary concern is performance (we
> > have data coming in over the serial port, and need to update graphics
> > in real-time in response to this data), and making sure that the
> > finished app "looks and feels" like a native app, whether it's on Win95
> > or mac.  We checked into some other cross-platform tools, and it seemed
> > that they either had too much overhead, or they suffered from the
> > "lowest-common-denominator" syndrome.
> 
> If it's performance you want, use Metrowerks CodeManager.
> It's based on microsuck Visual SourceSafe 4.0a, but it's a hell of a lot
> better.
> 
> It's best strength is it's source code control, version control and
getting
> rid of the windoze api technicalities...
> 
> 

+++++++++++++++++++++++++++

>From unki@ab262.rz.uni-karlsruhe.de (Thorsten Weber)
Date: 5 Mar 1997 18:32:41 GMT
Organization: University of Karlsruhe, Germany

jordanz@altura.com wrote:
> In article <j-jahnke-ya023180000303972135040001@uchinews.uchicago.edu>,
> j-jahnke@uchicago.edu (Jerome Jahnke) wrote:

> > I browse on my Mac with
> > ObjectMaster. I edit some there too. And move the files back and forth
> > constantly. It is a shame the ObjectMaster 3.0 for windows never appeared.

> Actually, Object Master is alive and well (including the 3.0 version for
> Windows). Our company, Altura Software, recently purchaseds OM from ACI.
> Check out our web page for details:
>    http://www.altura.com

> -- 
> Jordan Zimmerman
> Altura Software, Inc.
> home page: http://www.altura.com/jordanz

> Don't blame me, I voted for Harry Browne!    
> http://www.harrybrowne96.org   1 (800) 682 1776

Hi,

what are the palns for Objectmaster? Will there be an update to a new
version? Any new features?
Just curious,
Thorsten
--

Thorsten P. Weber 

eMail: unki@rz.uni-karlsruhe.de

- For free speech online and elsewhere, join the blue ribbon campaign! -  ()
- ---------------- http://www.eff.org/blueribbon.html ------------------  /\  

+++++++++++++++++++++++++++

>From "Gary Firzon" <gfirzon@onramp.net>
Date: 4 Mar 1997 22:19:48 GMT
Organization: Multimedia Access Corp.

We had a small company that consisted of 4 PC programmers and 1 Mac guy,
myself. Our initial project called for Windows and a Mac version of the
same app. I did all of the work on the Mac and 3 PC guys did the Win
version. To be honest, there was VERY little code shared between Mac and
Win apps. That product won CD ROM TODAY top 100 best CDs. Our next product,
was to be cross compiled from an existing Win version to the Mac. The
project was doomed because I had very little experience in the Win world
and because of complexity in the app itself. I have been working as a Win
programmer for the last 5 months and I am still convinced that rewrite of
the pruduct would have been a better solution rather than using Cross
compile w/VC++

Jim Wintermyre <jimw@emu.com> wrote in article
<5fdd2u$kqf@news.scruz.net>...
> Hi -
> 
> We're considering using Microsoft Visual C++ cross-development edition
> to develop an app that needs to run on Windows 95 and the mac.  I have
> a lot of mac programming experience, but virtually no windows


+++++++++++++++++++++++++++

>From jhouchin@texoma.com (Jimmie Houchin)
Date: Wed, 05 Mar 1997 16:20:59 GMT
Organization: Internet Texoma

Steve@emer.com (Steve Wilson) wrote:

>In article <kilroyE6J9yo.7ys@netcom.com>, kilroy@netcom.com (Jeffrey S.
>Shulman) wrote:
>
>> No. You misunderstand. Rhapsody will RUN on PowerPC and Intel
>> hardware. Thus if you code you app to the Rhapsody API you will be
>> able to deliver it on both hardware platforms (with a recompile, of
>> course).
>> 
>> Rhapsody is an entire OS like Windows 95/NT & Mac OS. It is just a cross
>> hardware platform OS (like WinNT can run on Intel and DEC hardware).
>
>While what you say is true, you are missing part of it.  OpenStep is an OS
>by itself, but you can also use the OpenStep libraries on top of Windows
>NT.  Thus your OpenStep application can become a Windows NT application
>(with a recompile and a little tweaking).  Version 4.2 of OpenStep is also
>supposed to provide libraries for Win 95.  Let's hope it does!
>
>-Steve
>
>Steve Wilson
>Lead Developer of Spreadsheet 2000
>Emergent Behavior
>(415) 494-6763
>Fax (415) 494-0570
>mailto:Steve@emer.com
>http://www.emer.com
>http://members.aol.com/wilsonsd

But would this also require having OpenStep installed on the users PC.
Meaning, OpenStep would simply be a second OS running on top of the
primary OS, Win95/NT. Thus requiring an additional OS purchase on the
part of the end user. It would be up to the Mac community to create
the added value for this step to be beneficial to the Win95/NT user.
In this case, it is still not seamlessly cross-platform.


Jimmie Houchin

+++++++++++++++++++++++++++

>From jhouchin@texoma.com (Jimmie Houchin)
Date: Thu, 06 Mar 1997 16:04:28 GMT
Organization: Internet Texoma

jc@or.psychology.dal.ca (John Christie) wrote:

>Jimmie Houchin (jhouchin@texoma.com) wrote:
>
>: But would this also require having OpenStep installed on the users PC.
>: Meaning, OpenStep would simply be a second OS running on top of the
>: primary OS, Win95/NT. 
>
>	Not really an OS, but an object model.

True, misuse of nomenclature.

>
>: Thus requiring an additional OS purchase on the
>: part of the end user. It would be up to the Mac community to create
>: the added value for this step to be beneficial to the Win95/NT user.
>: In this case, it is still not seamlessly cross-platform.
>
>	But, all Apple would have to do is provide an inexpensive license 
>for OpenStep that ran over the other OS.  It would not be accessed unless 
>an app that needed it was launched and could be a seamless part of the 
>install.
>	Develop once, compile multiple times, deploy everywhere.  
>Wouldn't you like to just develop once on the NeXT box and then pay a 
>small royalty to Apple to have your program run everywhere?  I wonder if 
>OpenStep might be just passed off in the Win world as just another 
>program that is inconsistent with MS GUI standards.
>	Once you get them hooked on using OpenStep over their current OS 
>then sell them on the added benefits of going all the way.

If Apple would handle it as such, where an app developer could have a
runtime module which installs onto the users PC which would allow the
user to run OpenStep apps seamlessly without any user intervention.
This would be truly cross-platform and a tremendous boon to Apple.

The runtime module would be no different to the end user than a VB app
with the VBRUN*.dll on their PC. No additional purchase or effort
required. I don't know say openstep.dll. Gosh 8.3 name and everything.
What more could a PC ask for? :)

Then if anyone wanted the complete OS, Rhapsody, they could purchase
it from Apple. This plan I think would help Apple bring in developers
and encourage current developers to keep on.

I am already more encouraged by Apple's current direction with
supporting Rhapsody on Intel. I just wished it would run on my poor
little 68k Mac.

Jimmie

+++++++++++++++++++++++++++

>From jordanz@altura.com
Date: Thu, 06 Mar 1997 10:04:18 -0800
Organization: scruz-net

In article <5fke89$hdn$1@nz12.rz.uni-karlsruhe.de>,
unki@ab262.rz.uni-karlsruhe.de (Thorsten Weber) wrote:

> Hi,
> 
> what are the palns for Objectmaster? Will there be an update to a new
> version? Any new features?
> Just curious,
> Thorsten

You can read all about it on our web site:
   http://www.altura.com

-- 
Jordan Zimmerman
Altura Software, Inc.
home page: http://www.altura.com/jordanz

Don't blame me, I voted for Harry Browne!    
http://www.harrybrowne96.org   1 (800) 682 1776

+++++++++++++++++++++++++++

>From jc@or.psychology.dal.ca (John Christie)
Date: 5 Mar 1997 20:20:35 GMT
Organization: ISINet, Nova Scotia

Jimmie Houchin (jhouchin@texoma.com) wrote:

: But would this also require having OpenStep installed on the users PC.
: Meaning, OpenStep would simply be a second OS running on top of the
: primary OS, Win95/NT. 

	Not really an OS, but an object model.

: Thus requiring an additional OS purchase on the
: part of the end user. It would be up to the Mac community to create
: the added value for this step to be beneficial to the Win95/NT user.
: In this case, it is still not seamlessly cross-platform.

	But, all Apple would have to do is provide an inexpensive license 
for OpenStep that ran over the other OS.  It would not be accessed unless 
an app that needed it was launched and could be a seamless part of the 
install.
	Develop once, compile multiple times, deploy everywhere.  
Wouldn't you like to just develop once on the NeXT box and then pay a 
small royalty to Apple to have your program run everywhere?  I wonder if 
OpenStep might be just passed off in the Win world as just another 
program that is inconsistent with MS GUI standards.
	Once you get them hooked on using OpenStep over their current OS 
then sell them on the added benefits of going all the way.


--

- ----------------------------------------------------------------

John Christie

"You aren't free because you CAN choose - only if you DO choose."

"All you are is the decisions you make.  If you let circumstances make 
them for you then what you are becomes very easy to estimate."

+++++++++++++++++++++++++++

>From "Amanda Walker" <amanda@ascend.com>
Date: 9 Mar 1997 00:12:58 GMT
Organization: Ascend Communications, Inc. Client Software Group

MW Ron <MWRon@metrowerks.com> wrote:
> I'd like to restate this in a different light
> 
> Developer Studio is not very useful without MFC and strict adherence to
> the Code Generation it creates. Well, it is a good resource editor.

This is misleading at best.

Developer Studio is a very nice IDE, with features I wish Metrowerks would
emulate on the Mac.  I use it for MFC code, non-MFC code, assembler, Java,
documentation viewing and searching, integrated source code control, etc.

It has some MFC-specific pieces, such as the various MFC-related "wizards",
but they're no more an indication of DevStudio's general utility than
Metrowerks Constructor implies that Code Warrior isn't useful for anything
besides PowerPlant applications.

-- 
Amanda Walker
Ascend Communications, Inc.
Client Software Group

+++++++++++++++++++++++++++

>From MWRon@metrowerks.com (MW Ron)
Date: Sun, 09 Mar 1997 16:15:50 -0500
Organization: Metrowerks

In article <01bc2c1f$3cd2fd80$05073495@amanda-pad.eng.intercon.com>,
"Amanda Walker" <amanda@ascend.com> wrote:

>MW Ron <MWRon@metrowerks.com> wrote:
>> I'd like to restate this in a different light
>> 
>> Developer Studio is not very useful without MFC and strict adherence to
>> the Code Generation it creates. Well, it is a good resource editor.
>
>This is misleading at best.
>
>Developer Studio is a very nice IDE, with features I wish Metrowerks would
>emulate on the Mac.  I use it for MFC code, non-MFC code, assembler, Java,
>documentation viewing and searching, integrated source code control, etc.

Hi Amanda,
Some peoples likes are other peoples dislikes I guess. 

It isn't proper for me to discuss this in public I should have made it
much more clear this was my personal opinion.  I do have very strong
personal thoughts on this.  So, I'm going to stick with my original
statement, if anyone wants to know why they can write me.

Ron

-- 
METROWERKS                   Ron Liechty
"Software at Work"    MWRon@metrowerks.com
http://www.metrowerks.com/about/people/rogues.html#mwron

+++++++++++++++++++++++++++

>From Ulf Olsson <ulf@distinct.se>
Date: 12 Mar 1997 18:52:12 GMT
Organization: Distinct Systems i Sverige AB

Yes, I must agree with the viewpoint that Java seems to be a good way
of standardizing the GUI, and a lot of people seems to think that way
also.
See what Apple says about Rhapsody and Java, IBM and Java (the
round-the-clock
project), Sun and Java and so on.

I am currently involved in a project regarding A-life and complexity with
targeting MacOS, NT and Unix, and I started out trying to do the interface
in IFC with Constructor but there was practical problems doing that.
Also the native interface in Sun's Java 1.02 was not supported in the same
way across platforms.

The speed issue is still critical, and Java for embedded systems I will
be 
wary of due to the not quite deterministic behavior in the GC.

In a few months the following development environment might be possible

	Java Classlibrary (IFC or something similar)
	Java GUI builder (like Constructor)
	C/C++ native interface standardized on all platforms
	STL standardized on all platforms - implementing time critical algoritms
	java-CORBA and JDBC for network and database access
	
giving true portable applications.

Even access to stuff like X.500 and LDAP is possible from Java, and
rule-based
programming is coming. The speed of new Java stuff popping up is frankly
phenomenal!

The problem will be to keep up.

Ulf Olsson

- - Expressing the only opinion I have: my own ---

+++++++++++++++++++++++++++

>From axel@simplex.nl (Axel Roest)
Date: Thu, 13 Mar 1997 17:17:36 +0100
Organization: AXEL Development

Werner Donne' <wdonne@ibm.net> wrote:

> The real performance penalty can't be more than an extra function call
> between your code and the native API. Extra code in a framework is
> supposed to be added value.
> That extra function call will not be noticed. We are talking about a few
> cycles. CPU time in the client is nothing compared to the human action
> that preceeds it and nothing compared to resource access like files or
> database. CPU time spent in the interface code itself is not important.

So why is it that almost all cross-platform software developed with a
Microsoft environment run dead-slow on even the fastest Macs?
Case in point 1: Word 6 on the Mac (which is now upgraded to 6.01 after
massive complaints of users)
Case in point 2: US Robotics Pilot Desktop, which is clearly written
using non-Mac standard development tools (no MENU or DLOG resources), is
almost bigger than Photoshop and does substantially less for it's huge
memory allocation (huge for a PIM)

Just my 2 cents'


-- 
Axel M. Roest

+++++++++++++++++++++++++++

>From wgf@geocities.com (Will Flor)
Date: Thu, 13 Mar 1997 20:08:43 GMT
Organization: <suppressed>

In article <199703131717361795393@ppp46-204.simplex.nl>, axel@simplex.nl (Axel Roest) wrote:
>Werner Donne' <wdonne@ibm.net> wrote:
>
>> The real performance penalty can't be more than an extra function call
>> between your code and the native API. Extra code in a framework is
>> supposed to be added value.
>> That extra function call will not be noticed. We are talking about a few
>> cycles. CPU time in the client is nothing compared to the human action
>> that preceeds it and nothing compared to resource access like files or
>> database. CPU time spent in the interface code itself is not important.
>
>So why is it that almost all cross-platform software developed with a
>Microsoft environment run dead-slow on even the fastest Macs?
>Case in point 1: Word 6 on the Mac (which is now upgraded to 6.01 after
>massive complaints of users)

In days of yore (that's a few years ago) the Mac versions of MS Word
and associated programs were in fact not compiled to native code, but
rather to an intermediate code that was then interpreted by a virtual
machine, hence the slowness.  Could this still be the case?

-Will Flor                      wgf@geocities.com

+++++++++++++++++++++++++++

>From yeung@reed.edu (Woodrow Yeung)
Date: Fri, 14 Mar 1997 00:15:05 -0800
Organization: Reed College

In article <199703131717361795393@ppp46-204.simplex.nl>, axel@simplex.nl
(Axel Roest) wrote:

> Werner Donne' <wdonne@ibm.net> wrote:
> 
> > The real performance penalty can't be more than an extra function call
> > between your code and the native API. Extra code in a framework is
> > supposed to be added value.
> > That extra function call will not be noticed. We are talking about a few
> > cycles. CPU time in the client is nothing compared to the human action
> > that preceeds it and nothing compared to resource access like files or
> > database. CPU time spent in the interface code itself is not important.
> 
> So why is it that almost all cross-platform software developed with a
> Microsoft environment run dead-slow on even the fastest Macs?

Because Microsoft's cross-platform toolkit sucks!  Not because of the
extra function call.  There are massive performance problems with
developing a Macintosh app using the Visual C/C++ cross compiler,
especially in memory management.

Try running some Windows programs developed with Altura's Mac2Win
library.  These Apps seem to run well despite the extra overhead in
emulating the MacToolbox with Windows calls.

Woody Yeung
yeung@reed.edu

-- 
yeung@reed.edu

+++++++++++++++++++++++++++

>From "Dwight Harm" <Dwight95@ix.netcom.com>
Date: 15 Mar 1997 11:07:40 GMT
Organization: Trax Softworks, Inc.

Woodrow Yeung <yeung@reed.edu> wrote in article
<yeung-1403970015050001@nntp.ix.netcom.com>...
[snip] 
> Because Microsoft's cross-platform toolkit sucks!  Not because of the
> extra function call.  There are massive performance problems with
> developing a Macintosh app using the Visual C/C++ cross compiler,
> especially in memory management.
[snip]
We found the "new" operator to be especially bad in some situations. We had
an operation that was generating several thousand "new"s.  It took 4+
minutes on a 6100/60.  We replaced the "new" and "delete" operators with
code from the GUI library we use on Windows, and now the same operation
takes about 4 seconds!!

Also EnumFontFamilies is a killer (verrrry slow).

Note that the performance profiler that comes with MS VC++ 4.x is supported
cross-platform and works very well at finding the bottlenecks.


+++++++++++++++++++++++++++

>From idan@epopeus.health.ucalgary.ca (Idan Shoham)
Date: 17 Mar 1997 15:09:20 GMT
Organization: The University of Calgary

Another way to build cross-platform stuff, without Java (if Java is
too slow for your application), is to use  a cross-platform kit from
a _competent_ third party vendor.

One vendor in particular comes to mind -- Zinc.  You should check out
www.zinc.com for info about their multi-platform GUI libraries.  Basically
you can crank out C++ code that compiles cleanly and shows a native GUI
with the same functionality from one source.  I know they support 
DOS, DOS32, Win16, Win32, Mac, OS2, NextStep, X/Motif and CURSES.
This ought to cover your needs..  ;-)

TTYL,

-- Idan
   idan@m-tech.ab.ca

+++++++++++++++++++++++++++

>From Bernd Gruendling <bernd@gobio.escape.de>
Date: Tue, 18 Mar 97 21:37:20 +0200
Organization: Bernd Gruendling


In article <5gjmr0$c12@ds2.acs.ucalgary.ca>, Idan Shoham writes:

      
      Another way to build cross-platform stuff, without Java (if Java is
      too slow for your application), is to use  a cross-platform kit from
      a _competent_ third party vendor.
      
      One vendor in particular comes to mind -- Zinc.  You should check out
      www.zinc.com for info about their multi-platform GUI libraries.  
Basically
      you can crank out C++ code that compiles cleanly and shows a native GUI
      with the same functionality from one source.  I know they support 
      DOS, DOS32, Win16, Win32, Mac, OS2, NextStep, X/Motif and CURSES.
      This ought to cover your needs..  ;-)
      
Hm. Last time I looked (release 4) their library was very bad designed, bad 
implemented (except you don't mind 1,500 lines of code in a single member 
function and lots of #ifdef Windows ... ) and, at least on the Mac, very buggy, 
too. It took me two weeks (if I remember correctly) to port a small (and 
working, on Windows) app to the Mac.

I will never touch it again.


Bernd Gruendling.

---------------------------

>From "Eric Sword" <ericsword@grouplogic.com>
Subject: Custom Menu Defs for Shift and Option Symbols?
Date: Tue, 04 Mar 1997 14:17:13 -0500
Organization: Group Logic, Inc.

Does anyone know of a publically available menu def. that will 
display the shift or option symbols when they are part of a key 
command sequence for a menu item?  One that works with CMNU 
resources for MacApp is preferable.

Thanks,

Eric

+++++++++++++++++++++++++++

>From bboppie@aol.com (BBoppie)
Date: 5 Mar 1997 02:31:00 GMT
Organization: AOL http://www.aol.com

Eric wrote:

>>Does anyone know of a publically available menu def. that will 
display the shift or option symbols when they are part of a key 
command sequence for a menu item?  One that works with CMNU 
resources for MacApp is preferable.<<

Mercutio does support those keys but, I don't know if it supports the CMNU
type menus, I'd check for the latest version.

BBoppie

+++++++++++++++++++++++++++

>From mm6188@cnsvax.albany.edu (Mac Murrett)
Date: Tue, 04 Mar 1997 19:19:49 -0400
Organization: MacPants Software

In article <ericsword-0403971417130001@toad.grouplogic.com>, "Eric Sword"
<ericsword@grouplogic.com> wrote:

> Does anyone know of a publically available menu def. that will 
> display the shift or option symbols when they are part of a key 
> command sequence for a menu item?  One that works with CMNU 
> resources for MacApp is preferable.
> 
> Thanks,
> 
> Eric

I'm not sure if it's compatible with CMNU resources, but Mercutio MDEF, by
Ramon Felciano, is pretty much the industry standard for this sort of
thing.  The latest version allows you to use F-keys, forward delete,
control, shift, option, and I believe some other goodies in your
commands.  It is free, but you have to send him a free copy of the
software, and mention him in your aout box.

Mac.

---------------------------

>From Cam Daly <camdaly@chedd-angier.com>
Subject: Disabling the Application Menu (maura?)
Date: Wed, 19 Mar 1997 14:25:09 -0400
Organization: The Internet Access Company, Inc.

I need to be able to disable the Application Menu in the upper right
hand corner of the screen for a museum interactive I am working on.  I
need to be able to run two applications plus Applescript and be certain
that there is no way to change which application is running at any
particular point.  I was hoping that the 'enabled' check box in the MENU
named maura in the System file would actually do something (accessed via
ResEdit, of course), but it doesn't seem to affect the ability to access
different applications.  If anyone has any experience dealing with this
issue or could refer me to a reference that covers it, I would greatly
appreciate it.

Cam Daly
camdaly@chedd-angier.com

+++++++++++++++++++++++++++

>From d88-bli@dront.nada.kth.se (Bo Lindbergh)
Date: 21 Mar 1997 05:37:45 GMT
Organization: Royal Institute of Technology, Stockholm, Sweden

In article <33302F83.4A04@chedd-angier.com> camdaly@chedd-angier.com writes:
> I need to be able to disable the Application Menu in the upper right
> hand corner of the screen for a museum interactive I am working on.

For this kind of application, you're allowed to bend the rules and
do things like hiding the menu bar or not having an Apple menu.
(The process menu appears when you insert the Apple menu.)


/Bo Lindbergh

+++++++++++++++++++++++++++

>From "Randy Thelen" <rthelen@ix.netcom.com>
Date: 21 Mar 1997 06:27:15 GMT
Organization: Netcom

Cam Daly <camdaly@chedd-angier.com> wrote in article
<33302F83.4A04@chedd-angier.com>...
> I need to be able to disable the Application Menu in the upper right
> hand corner of the screen for a museum interactive I am working on.  I
> need to be able to run two applications plus Applescript and be certain
> that there is no way to change which application is running at any
> particular point.  If anyone has any experience dealing with this
> issue or could refer me to a reference that covers it, I would greatly
> appreciate it.

	In my experience, and this solution may not be ideal for your situation,
making the entire menu bar go away is superior to attempting to disable
particular elements.  However, you have to ensure that you have built
navigation controls that are suitable for the application into every window
and that they are easily identifiable by the user in order to pull this off.
Hiding the menu bar is a bit tricky, but perfect for vertical applications,
such as in the museum interactive that your working on.  
	You should check with other programmers or code samples on how to hide the
menu bar.  It's been a long time and I can't remember the code sequence.
-- 
Randy Thelen
The FirePower Team
Motorola Computer Group

+++++++++++++++++++++++++++

>From Dan Crow <crow@apple.com>
Date: Thu, 20 Mar 1997 17:21:05 -0800
Organization: Apple Computer Inc.

Cam Daly wrote:
> 
> I need to be able to disable the Application Menu in the upper right
> hand corner of the screen for a museum interactive I am working on.  I
> need to be able to run two applications plus Applescript and be certain
> that there is no way to change which application is running at any
> particular point.  I was hoping that the 'enabled' check box in the MENU
> named maura in the System file would actually do something (accessed via
> ResEdit, of course), but it doesn't seem to affect the ability to access
> different applications.  If anyone has any experience dealing with this
> issue or could refer me to a reference that covers it, I would greatly
> appreciate it.
> 
> Cam Daly
> camdaly@chedd-angier.com

Way back when I wrote a similar application for the Victoria & Albert
museum in London. We used the Apple Media Tool to write the application:
AMT titles have the advantage of taking over the full screen, thus
effectively disabling access to the entire menu bar.

To control what happened when we switched applications, we installed At
Ease on the machines, which allowed us to stop the user switching to the
finder etc. At Ease is an Apple product available through Claris (if I
remeber correctly). Check it out.

All the best,

Dan


--
Dan Crow                                 Apple Computer Inc.
Lead Engineer                            1 Infinite Loop
Apple Media Tool                         Cupertino, CA 95014

+++++++++++++++++++++++++++

>From ramel@usa.net (Ramel Levin)
Date: Mon, 24 Mar 1997 11:48:12 +0300
Organization: Ubique

In article <01bc35c0$ed538d00$4b6ad6ce@rthelen.ix.netcom.com>, "Randy
Thelen" <rthelen@ix.netcom.com> wrote:

>Cam Daly <camdaly@chedd-angier.com> wrote in article
><33302F83.4A04@chedd-angier.com>...
>> I need to be able to disable the Application Menu in the upper right
>> hand corner of the screen for a museum interactive I am working on.  I
>> need to be able to run two applications plus Applescript and be certain
>> that there is no way to change which application is running at any
>> particular point.  If anyone has any experience dealing with this
>> issue or could refer me to a reference that covers it, I would greatly
>> appreciate it.
>
>        In my experience, and this solution may not be ideal for your
situation,
>making the entire menu bar go away is superior to attempting to disable
>particular elements.  However, you have to ensure that you have built
>navigation controls that are suitable for the application into every window
>and that they are easily identifiable by the user in order to pull this off.
>Hiding the menu bar is a bit tricky, but perfect for vertical applications,
>such as in the museum interactive that your working on.  
>        You should check with other programmers or code samples on how to
hide the
>menu bar.  It's been a long time and I can't remember the code sequence.
>-- 
>Randy Thelen
>The FirePower Team
>Motorola Computer Group

Agree with the above, and here is the code to hide the menu bar :


short oldMBarHeight;
RgnHandle   mBarRgn;

void HideMenuBar()
{
   Rect  mBarRect;

   oldMBarHeight = GetMBarHeight();
   MBarHeight = 0;         /* make the Menu Bar's height zero */
   SetRect(&mBarRect, screenBits.bounds.left, screenBits.bounds.top,
         screenBits.bounds.right, screenBits.bounds.top + oldMBarHeight);
   mBarRgn = NewRgn();
   RectRgn(mBarRgn, &mBarRect);
   UnionRgn(GrayRgn, mBarRgn, GrayRgn);/* tell the desktop it covers the menu
                                        * bar
                                        */
   PaintOne(nil, mBarRgn); /* redraw desktop */
}

void ShowMenuBar()
{
   MBarHeight = oldMBarHeight;   /* make the menu bar's height normal */
   DiffRgn(GrayRgn, mBarRgn, GrayRgn); /* remove the menu bar from the
                                        * desktop
                                        */
   DisposeRgn(mBarRgn);
}

---------------------------

>From sd@compumedia.com (Jeff Beeghly)
Subject: Getting the FSpec of a folder within a folder
Date: Thu, 27 Feb 1997 23:51:33 -0800
Organization: Compumedia Internet Services

I used to know how to do this but now I¼m pulling a complete blank...

I have the FSSpec of a folder, and there is a folder within this folder,
and my goal is to get the FSSpec of this second folder.  How is this done?


TIA,


Jeff

+++++++++++++++++++++++++++

>From andym@netmanage.com
Date: Fri, 28 Feb 97 17:06:59 +0000
Organization: (none)


You need to call PBGetCatInfo and use index to iterate thru the directory.
There's a sample of this in Think Ref.
Let me know if you don't have it and I'll e-mail it to you

Andy


On Thu, Feb 27, 1997,11:51 PM Jeff Beeghly wrote:
>I used to know how to do this but now I¼m pulling a complete blank...
>
>I have the FSSpec of a folder, and there is a folder within this folder,
>and my goal is to get the FSSpec of this second folder.  How is this done?
>
>
>TIA,
>
>
>Jeff
>
End of excerpt from Jeff Beeghly.




+++++++++++++++++++++++++++

>From jumplong@aol.com (Jump Long)
Date: 3 Mar 1997 07:41:11 GMT
Organization: AOL http://www.aol.com

In article <sd-2702972351330001@ppp228.compumedia.com>, sd@compumedia.com
wrote:

>I used to know how to do this but now I1m pulling a complete blank...
>
>I have the FSSpec of a folder, and there is a folder within this folder,
>and my goal is to get the FSSpec of this second folder. How is this done?

Get the directory ID of the parent folder from it's FSSpec with MoreFiles'
FSpGetDirectoryID and then use it to make the new FSSpec to the child
folder. Like this:

result = FSpGetDirectoryID(&parentSpec, &theParentDirID, &isDirectory);
if ( result == noErr && isDirectory )
{
  result = FSMakeFSSpec(parentSpec.vRefNum, theParentDirID, childDirName,
                        &childSpec);
}

You can find MoreFiles at
<ftp://members.aol.com/JumpLong/MoreFiles_1.4.6.sea.hqx>.

- Jim Luther


---------------------------

>From john_coggi@qmail2.aero.org (John Coggi)
Subject: How do you paste graphics into SimpleText docs?
Date: Wed, 12 Mar 1997 11:51:12 -0800
Organization: The Aerospace Corporation

I've seen Read Me files with graphics in them, yet when I try to paste
graphics in one, the Paste menu item is always grayed out.  How does one
accomplish this??

Thanks,

John

-- 
- -----------------------------------------
John Coggi
The Aerospace Corporation
john_coggi@qmail2.aero.org

+++++++++++++++++++++++++++

>From Online@MacTech.com ( nick.c MacTech )
Date: Wed, 12 Mar 1997 18:45:25 -0800
Organization: MacTech Magazine



john_coggi@qmail2.aero.org (John Coggi) wrote:

>I've seen Read Me files with graphics in them, yet when I try to paste
>graphics in one, the Paste menu item is always grayed out.  How does one
>accomplish this??


     SimpleText/TeachText doesn't support pasting of graphics.
       You can add graphics to these documents though, by adding
       them to the resource fork of the document as picts (start 
       numbering at 1000; use resedit or resorcerer) in the order 
       you want them to appear in your ttxt document.  Then open
       the document with TeachText/SimpleText and enter the
       key combination "option-space" where you want the picture
       to appear.  Realize that TeachText/SimpleText will only
       make room for a single character when you do this (but 
       the entire graphic will appear starting at that position).
       To make sure that the graphic doesn't hide the rest of
       your text you need to add some carriage returns and other 
       artful use of white space.  It's a kludge, but if you want
       colorful README's, for an application that every user
       has on his HD--it's a useful trick to remember.  When
       you're done change the file type to ttro (teachtext 
       read only; instead of TEXT), so a reader doesn't acidently
       delete your first "option-space" character and cause  
       all the pictures to appear out of order.

     Hope this helps,





____Nicholas C. DeMello, Ph.D.___________________________________________
"MacTech Online"--MacTech Magazine, for Mac OS Programmers and Developers
     http://www.MacTech.com/
                                        _/   _/  _/  _/_/_/   _/   _/  
   Chemistry: Nick@chem.UCLA.edu       _/_/ _/  _/  _/   _/  _/_/_/ 
     MacTech: Online@MacTech.com      _/ _/_/  _/  _/       _/ _/    
        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     

+++++++++++++++++++++++++++

>From joe@ezinfo.ucs.indiana.edu (Joseph G. Husk)
Date: 13 Mar 1997 02:28:07 GMT
Organization: Indiana University, Bloomington

In article <john_coggi-1203971151120001@co059.aero.org>,
John Coggi <john_coggi@qmail2.aero.org> wrote:
>I've seen Read Me files with graphics in them, yet when I try to paste
>graphics in one, the Paste menu item is always grayed out.  How does one
>accomplish this??

You need to use ResEdit or Resourcer to open the resource fork of the 
document.  Then paste the PICT into the document and give it an ID of 
1000.  In you SimpleText document press command-space and the graphic 
will magically appear... ok so it'll just appear.  If you want multiple 
graphics just use the next ID number 1001... 1002... etc for each 
additional graphic you want to use.

-joe

+++++++++++++++++++++++++++

>From rauch@uni-wuppertal.de (Olaf Rauch)
Date: Fri, 14 Mar 1997 01:28:19 +0100
Organization: University of Wuppertal, Germany

John Coggi <john_coggi@qmail2.aero.org> wrote:

> I've seen Read Me files with graphics in them, yet when I try to paste
> graphics in one, the Paste menu item is always grayed out.  How does one
> accomplish this??
> 
I created this kind of documents with MacWrite Pro and I think that any
word processor which uses the Claris XTND system can do this:
Write the text, paste and position the PICTs and then do a "Save as"
where You choose "TeachText Read-Only" or "TeachText" as the output file
format.

HTH

Olaf

-- 
Olaf Rauch  <rauch@uni-wuppertal.de>
certified Microsoft-free Macintosh


+++++++++++++++++++++++++++

>From gurgle@apple.com (Pete Gontier -- DTS)
Date: Thu, 13 Mar 1997 10:55:10 -0800
Organization: Apple Computer, Inc.

In article <john_coggi-1203971151120001@co059.aero.org>,
john_coggi@qmail2.aero.org (John Coggi) wrote:

 > I've seen Read Me files with graphics in them, yet when I try to paste
 > graphics in one, the Paste menu item is always grayed out.  How does one
 > accomplish this??

    <http://gemma.apple.com/dev/technotes/tn/tn1005.html>

 --

  Pete Gontier, Integer Poet
  Apple Macintosh Developer Technical Support
  <http://www.devworld.apple.com/find.html>

  Clarification?        <mailto:devsupport@apple.com>
  Complaints? Kudos?    <mailto:devfeedback@apple.com>

+++++++++++++++++++++++++++

>From canuck.1@sk.sympatico.ca (Deron Staffen)
Date: Fri, 14 Mar 1997 06:07:44 -0700
Organization: SaskNet News Distribution

John Coggi <john_coggi@qmail2.aero.org> wrote:

> I've seen Read Me files with graphics in them, yet when I try to paste
> graphics in one, the Paste menu item is always grayed out.  How does one
> accomplish this??
> 
> Thanks,
> 
> John

  A simpler solution than all that BS... get yourself a copy of Tex-Edit
and go to town.  :-)
  (I don't mean that literally -- it works just as well in the country)

--Deron Staffen

+++++++++++++++++++++++++++

>From canuck.1@sk.sympatico.ca (Deron Staffen)
Date: Fri, 14 Mar 1997 06:17:36 -0700
Organization: SaskNet News Distribution

John Coggi <john_coggi@qmail2.aero.org> wrote:

> I've seen Read Me files with graphics in them, yet when I try to paste
> graphics in one, the Paste menu item is always grayed out.  How does one
> accomplish this??
> 
> Thanks,
> 
> John

  A simpler solution than all that BS... get yourself a copy of Tex-Edit
and go to town.  :-)
  (I don't mean that literally -- it works just as well in the country)

--Deron Staffen

+++++++++++++++++++++++++++

>From elkins@pop.mis.net (Sean Elkins)
Date: Sat, 15 Mar 1997 11:16:32 -0500
Organization: Mikrotec Internet Services, Inc. (MISNet)

In article <19970314060744120194@mistel3.sk.sympatico.ca>,
canuck.1@sk.sympatico.ca (Deron Staffen) wrote:

> John Coggi <john_coggi@qmail2.aero.org> wrote:
> 
> > I've seen Read Me files with graphics in them, yet when I try to paste
> > graphics in one, the Paste menu item is always grayed out.  How does one
> > accomplish this??
> > 
> > Thanks,
> > 
> > John
> 
>   A simpler solution than all that BS... get yourself a copy of Tex-Edit
> and go to town.  :-)
>   (I don't mean that literally -- it works just as well in the country)
> 
> --Deron Staffen

You have to use ResEdit, and it is a pain. Find something else to do it with.

*****************************************************
Sean Elkins - Educator, Mac user, Responsible Gun Owner
                    -------------

Those who would willingly submit to 'restriction' or 'regulation' of their
Constitutional rights in exchange for a false feeling of safety might just
as well spit on the graves at Arlington, Lexington and Normandy. The effect
would be the same.

elkins@mis.net (preferred)
sle1@aol.com
*****************************************************

+++++++++++++++++++++++++++

>From wjtaggart@fuse.net (William J Taggart)
Date: Sat, 15 Mar 1997 12:17:35 -0500
Organization: midwest payment systems

In article <199703140128191104888@isdn34.dialin.uni-wuppertal.de>,
rauch@uni-wuppertal.de (Olaf Rauch) wrote:

> John Coggi <john_coggi@qmail2.aero.org> wrote:
> 
> > I've seen Read Me files with graphics in them, yet when I try to paste
> > graphics in one, the Paste menu item is always grayed out.  How does one
> > accomplish this??
> > 
> I created this kind of documents with MacWrite Pro and I think that any
> word processor which uses the Claris XTND system can do this:
> Write the text, paste and position the PICTs and then do a "Save as"
> where You choose "TeachText Read-Only" or "TeachText" as the output file
> format.
> 
> HTH
> 
> Olaf

Cool!

Beats the hell out of the earlier posted resedit solution.
(nothing against resedit, but I sure couldn't accept that that was the
_only_ solution to putting a picture into a simple text document)
-- 
Bill Taggart <wjtaggart@fuse.net>

Welcome to the Monkey House
               -- Kurt Vonnegut, Jr.

+++++++++++++++++++++++++++

>From canuck.1@sk.sympatico.ca (Deron Staffen)
Date: Sun, 16 Mar 1997 03:11:09 -0700
Organization: SaskNet News Distribution

Sean Elkins <elkins@pop.mis.net> wrote:

> In article <19970314060744120194@mistel3.sk.sympatico.ca>,
> canuck.1@sk.sympatico.ca (Deron Staffen) wrote:
> 
> > John Coggi <john_coggi@qmail2.aero.org> wrote:

[how to put graphics in document snipped]

> >   A simpler solution than all that BS... get yourself a copy of Tex-Edit
> > and go to town.  :-)
> >   (I don't mean that literally -- it works just as well in the country)
> > 
> > --Deron Staffen
> 
> You have to use ResEdit, and it is a pain. Find something else to do it with.
> 
> *****************************************************
> Sean Elkins - Educator, Mac user, Responsible Gun Owner
[snip]

  Ummmmm... no, actually, you don't. In fact, when someone wrote to
Macworld with the same question, macworld said to use Tex-Edit. As
always, please try the suggested method before commenting.

  Tex-Edit allows you to paste graphics into a text document without
difficulty. Available at your local Info-Mac archive.

  I am not affiliated with Tex-Edit, just darn happy with it.  :-)

--Deron Staffen

+++++++++++++++++++++++++++

>From _Lachlan <"lachlan"@netcomuk.co.uk (_Lachlan)>
Date: Sun, 16 Mar 1997 21:43:11 +0000
Organization: NETCOM Internet Ltd.

Olaf Rauch wrote:
> 
> John Coggi <john_coggi@qmail2.aero.org> wrote:
> 
> > I've seen Read Me files with graphics in them, yet when I try to paste
> > graphics in one, the Paste menu item is always grayed out.  How does one
> > accomplish this??
> >
> I created this kind of documents with MacWrite Pro and I think that any
> word processor which uses the Claris XTND system can do this:
> Write the text, paste and position the PICTs and then do a "Save as"
> where You choose "TeachText Read-Only" or "TeachText" as the output file
> format.
> 
> HTH
> 
> Olaf
> 
> --
> Olaf Rauch  <rauch@uni-wuppertal.de>
> certified Microsoft-free Macintosh
Yes, I use Claris Works 4 to produce a WP document with the graphics,
and any text in between any graphics - I think that is necessary - then
Save As as Olaf says, but you must have the Claris Extend Translator in
the appropriate Claris folder.  Works well.
-- 
Try my Web Site at http://www.netcomuk.co.uk/~lachlan/timber.html which
is on the History and Construction of Medieval Timber-Framed Houses.

---------------------------

>From Serge <softmedi@interlinx.qc.ca>
Subject: How to Hide Menu Bar ?
Date: Fri, 14 Mar 1997 21:46:55 -0500
Organization: A poorly-installed InterNetNews site

Does it exists a method to hide completly the menu Bar AND giving time
to other process ?  I other words, of avoid the clock in the menu
drawing itseft in the screen.  How they did that in HyperCard, for
example ?

Thanks for replying.
Serge.

+++++++++++++++++++++++++++

>From ramel@usa.net (Ramel Levin)
Date: Sun, 16 Mar 1997 13:59:13 +0200
Organization: Ubique

In article <332A0D9F.12C1@interlinx.qc.ca>, softmedi@interlinx.qc.ca wrote:

>Does it exists a method to hide completly the menu Bar AND giving time
>to other process ?  I other words, of avoid the clock in the menu
>drawing itseft in the screen.  How they did that in HyperCard, for
>example ?
>
>Thanks for replying.
>Serge.


short       oldMBarHeight;
RgnHandle   mBarRgn;

void HideMenuBar()
{
   Rect  mBarRect;

   oldMBarHeight = GetMBarHeight();
   MBarHeight = 0;
   SetRect(&mBarRect, screenBits.bounds.left, screenBits.bounds.top,
         screenBits.bounds.right, screenBits.bounds.top + oldMBarHeight);
   mBarRgn = NewRgn();
   RectRgn(mBarRgn, &mBarRect);
   UnionRgn(GrayRgn, mBarRgn, GrayRgn);
   PaintOne(nil, mBarRgn);
}

void ShowMenuBar()
{
   MBarHeight = oldMBarHeight;
   DiffRgn(GrayRgn, mBarRgn, GrayRgn);
   DisposeRgn(mBarRgn);
}


Enjoy,
Ramel

+++++++++++++++++++++++++++

>From briank@ctdnet.acns.nwu.edu (Brian Kendall)
Date: Mon, 17 Mar 1997 19:45:35 -0400
Organization: Programmer

In article <ramel-1603971359130001@kormeran.ubique.co.il>, ramel@usa.net
(Ramel Levin) wrote:

> In article <332A0D9F.12C1@interlinx.qc.ca>, softmedi@interlinx.qc.ca wrote:
> 
> >Does it exists a method to hide completly the menu Bar AND giving time
> >to other process ?  I other words, of avoid the clock in the menu
> >drawing itseft in the screen.  How they did that in HyperCard, for
> >example ?
> >
> >Thanks for replying.
> >Serge.
> 
> 
> short       oldMBarHeight;
> RgnHandle   mBarRgn;
> 
> void HideMenuBar()
> {
>    Rect  mBarRect;
> 
>    oldMBarHeight = GetMBarHeight();
>    MBarHeight = 0;
>    SetRect(&mBarRect, screenBits.bounds.left, screenBits.bounds.top,
>          screenBits.bounds.right, screenBits.bounds.top + oldMBarHeight);
>    mBarRgn = NewRgn();
>    RectRgn(mBarRgn, &mBarRect);
>    UnionRgn(GrayRgn, mBarRgn, GrayRgn);
>    PaintOne(nil, mBarRgn);
> }
> 
> void ShowMenuBar()
> {
>    MBarHeight = oldMBarHeight;
>    DiffRgn(GrayRgn, mBarRgn, GrayRgn);
>    DisposeRgn(mBarRgn);
> }
> 
> 
> Enjoy,
> Ramel

This must be a piece of code passed on from generation to generation of
mac programmers. :)

Brian K.

ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã
"If you take cranberries and stew them like applesauce,
it tastles much more like prunes then rhubarb does." - Groucho Marx
ãããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããããã

+++++++++++++++++++++++++++

>From gurgle@apple.com (Pete Gontier -- DTS)
Date: Wed, 19 Mar 1997 17:24:02 -0800
Organization: Apple Computer, Inc.

In article <332A0D9F.12C1@interlinx.qc.ca>, softmedi@interlinx.qc.ca wrote:

 > Does it exists a method to hide completly the menu Bar AND giving time
 > to other process ?  I other words, of avoid the clock in the menu
 > drawing itseft in the screen.  How they did that in HyperCard, for
 > example ?

    <ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/
         Snippets/Toolbox/HideMenuBar.sit.hqx>
    <ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/
         HideMenubarEtc/HideMenubarEtc.sit.hqx>

It's not clear which of these is the definitive sample just by looking at
the file name. We have someone re-evaluating all our sample code as I
write this, and these kinds of things will eventually be sorted out. For
now, I'd say download them both and decide which is better.

 --

  Pete Gontier, Integer Poet
  Apple Macintosh Developer Technical Support
  <http://www.devworld.apple.com/find.html>

  Clarification?        <mailto:devsupport@apple.com>
  Complaints? Kudos?    <mailto:devfeedback@apple.com>

+++++++++++++++++++++++++++

>From CatsGodot@PCISys.Net (Grant Guenther)
Date: Mon, 24 Mar 1997 19:03:54 -0600
Organization: PCI Systems Inc.

In article <gurgle-1903971724030001@news.next.com>, gurgle@apple.com (Pete
Gontier -- DTS) wrote:

> In article <332A0D9F.12C1@interlinx.qc.ca>, softmedi@interlinx.qc.ca wrote:
> 
>  > Does it exists a method to hide completly the menu Bar AND giving time
>  > to other process ?  I other words, of avoid the clock in the menu
>  > drawing itseft in the screen.  How they did that in HyperCard, for
>  > example ?
> 
>     <ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/
>          Snippets/Toolbox/HideMenuBar.sit.hqx>
>     <ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/
>          HideMenubarEtc/HideMenubarEtc.sit.hqx>
> 
> It's not clear which of these is the definitive sample just by looking at
> the file name. We have someone re-evaluating all our sample code as I
> write this, and these kinds of things will eventually be sorted out. For
> now, I'd say download them both and decide which is better.
> 
>  --
> 
>   Pete Gontier, Integer Poet
>   Apple Macintosh Developer Technical Support
>   <http://www.devworld.apple.com/find.html>
> 
>   Clarification?        <mailto:devsupport@apple.com>
>   Complaints? Kudos?    <mailto:devfeedback@apple.com>

  also, (not personally meaning to constantly plug this book as I do) Max
Programming Faqs has an example of how to do this.  That may be a better
solution (no offense, apple, but I've seen some of your sample code....not
the worst, but certainly not the best, either).

--Grant

---------------------------

>From Hara Osamu <haradave@alps.co.jp>
Subject: How to make an invisible folder
Date: Thu, 20 Feb 1997 13:34:57 +0000
Organization: Alps Electric Co.,LTD.

Everybody:

  I am looking for how to make an invisible 
folder from finder and/or open/save dialog of 
regular application.  Any methods are fine. 
Using programming in C is better.  ( I want a 
folder to be same behavior as an invisible file 
)

  Please help me.  ( source code is welcome )

Dave Hara

+++++++++++++++++++++++++++

>From refiegle@mail.delcoelect.com (Richard E. Fiegle)
Date: Fri, 21 Feb 1997 10:21:57 -0600
Organization: Delco Electronics

In article <330C5301.9FF@alps.co.jp>, Hara Osamu <haradave@alps.co.jp> wrote:

> Everybody:
> 
>   I am looking for how to make an invisible 
> folder from finder and/or open/save dialog of 
> regular application.  Any methods are fine. 
> Using programming in C is better.  ( I want a 
> folder to be same behavior as an invisible file 
> )

Basically:

1.  Call PBGetCatInfo(&pb) on the folder to get information about it.

2.  Then, set the invisible flag in the parameter block:

    pb.dirInfo.ioDrUsrWds.frFlags |= kIsInvisible;

3.  Call PBSetCatInfo(&pb) to make the change effective.

4.  Set the modification date of the parent directory to "now" so
    it knows it needs to re-draw it's window, with the invisible folder
    (otherwise, the folder will remain visible until you close and
     re-open the parent directory window in the Finder).

For general info on PBGet/SetCatInfo(), see Inside Mac: Files, or Old
Inside Mac vol IV, or see Jim Luther's excellent More Files 1.4.3 source
code, (which probably includes code to make a folder invisible anyway...)
available at any INFO Mac.  The key line of code for making a folder
invisible is given in #2.

--
Richard E. Fiegle
Opinions expressed are mine, not necessarily those of my employer

+++++++++++++++++++++++++++

>From Brandon Casey <Brandon.Casey@m.cc.utah.edu>
Date: Tue, 25 Feb 1997 15:58:07 +0000
Organization: University of Utah Computer Center

Hara Osamu wrote:
> 
> Everybody:
> 
>   I am looking for how to make an invisible
> folder from finder and/or open/save dialog of
> regular application.  Any methods are fine.
> Using programming in C is better.  ( I want a
> folder to be same behavior as an invisible file
> )
> 
>   Please help me.  ( source code is welcome )
> 
> Dave Hara

Here's a piece of code I wrote a while back.  From what I remember, it
sets the invisible bit of the folder's CInfoPBRec, then moves the folder
into the temporary items folder then back again so that the finder will
update it's records and hide the folder.  I forget whether or not this
techniqe worked though--if it doesn't, you may have to update the
modification date of the folder.  Info about this technique can be found
in the book Mac Programming FAQs (ISBN 0-7645-4001-7).

Hope it helps,
Brandon Casey

- -------------------------------------------------------------------

short				itemHit;
SFTypeList			typeList;
short				numTypes;
StandardFileReply 	replyPtr;
OSErr				err;
FInfo				fndrInfo;
Point				myWhere;
CInfoPBRec			myCPB;
short				foundVRefNum;
long				theDirID;
FSSpec 				tempHomeSpec, oldHomeSpec;
Boolean				response;
HParamBlockRec		myHPB;

//Get the file or folder
	
numTypes = -1;
myWhere.v = -1;
myWhere.h = -1;
	
CustomGetFile( nil, numTypes, typeList, &replyPtr, kCustomGetFileDlog,
myWhere, (DlgHookYDProcPtr)SelectFoldersHook,
(ModalFilterYDProcPtr)GetFilesAndFolders, nil, nil, &replyPtr );
	
if( !(replyPtr.sfGood) )
	ExitToShell();

if( replyPtr.sfIsFolder )
	{
		//Set the replyPtr's parID to the folders actual ID
		
		response = GetSibParID( &(replyPtr.sfFile) );
		
		if( (response == kSuccessful) && replyPtr.sfIsFolder )
		{
			myCPB.dirInfo.ioCompletion = nil;
			myCPB.dirInfo.ioNamePtr = nil;
			myCPB.dirInfo.ioFDirIndex = -1;
			myCPB.dirInfo.ioVRefNum = replyPtr.sfFile.vRefNum;
			myCPB.dirInfo.ioDrDirID = replyPtr.sfFile.parID;
			myCPB.dirInfo.filler2 = 0;
			
			err = PBGetCatInfo( &myCPB, false );
			
			if( myCPB.dirInfo.ioDrUsrWds.frFlags & fInvisible )
				myCPB.dirInfo.ioDrUsrWds.frFlags -= fInvisible;
			else
				myCPB.dirInfo.ioDrUsrWds.frFlags += fInvisible;
			
			err = PBSetCatInfo( &myCPB, false );
			
			//Save this location for later
		
			err = FSMakeFSSpec( replyPtr.sfFile.vRefNum, replyPtr.sfFile.parID,
kEmptyString, &oldHomeSpec );
			
			//Now temporarily move the file into the temp items folder
			
			err = FindFolder( kOnSystemDisk, 'temp', kCreateFolder,
&foundVRefNum, &theDirID );
			err = FSMakeFSSpec( foundVRefNum, theDirID, kEmptyString,
&tempHomeSpec );
			
			replyPtr.sfFile.parID = oldHomeSpec.parID;
			err = FSpCatMove( &(replyPtr.sfFile), &tempHomeSpec );
			response = GetSibParID( &tempHomeSpec );
			if( response == kSuccessful )
			{
				replyPtr.sfFile.vRefNum = tempHomeSpec.vRefNum;
				replyPtr.sfFile.parID = tempHomeSpec.parID;
			}
			else
			{
				SysBeep( 20 );
				ExitToShell();
			}
			
			//Now move it back to where it came from
			
			err = FSMakeFSSpec( oldHomeSpec.vRefNum, oldHomeSpec.parID, "\p",
&oldHomeSpec );
			err = FSpCatMove( &(replyPtr.sfFile), &oldHomeSpec );
			
			ExitToShell();
		}
	}

+++++++++++++++++++++++++++

>From PerRonne@post2.tele.dk (=?ISO-8859-1?Q?Per_R=F8nne?=)
Date: Mon, 10 Mar 1997 01:40:36 +0100
Organization: (none)

Use Apple's excellent freeware tool: ResEdit.
Jump Long <jumplong@aol.com> wrote:

> Hara Osamu wrote:
> >I am looking for how to make an invisible folder from finder
> >and/or open/save dialog of regular application.  Any methods are
> >fine. Using programming in C is better.  ( I want a folder to be
> >same behavior as an invisible file )
> 
> Get MoreFiles <ftp://members.aol.com/JumpLong/MoreFiles_1.4.6.sea.hqx> and
> use either the SetIsInvisible or FSpSetIsInvisible function.
> 
> - Jim Luther


-- 
Per Erik R¯nne
email:    xerxes@diku.dk    PerRonne@post2.tele.dk
homepage: http://www.diku.dk/students/xerxes

+++++++++++++++++++++++++++

>From jumplong@aol.com (Jump Long)
Date: 9 Mar 1997 21:27:42 GMT
Organization: AOL http://www.aol.com

Hara Osamu wrote:
>I am looking for how to make an invisible folder from finder
>and/or open/save dialog of regular application.  Any methods are
>fine. Using programming in C is better.  ( I want a folder to be
>same behavior as an invisible file )

Get MoreFiles <ftp://members.aol.com/JumpLong/MoreFiles_1.4.6.sea.hqx> and
use either the SetIsInvisible or FSpSetIsInvisible function.

- Jim Luther

+++++++++++++++++++++++++++

>From Hara Osamu <haradave@alps.co.jp>
Date: Wed, 12 Mar 1997 13:04:18 +0000
Organization: Alps Electric Co.,LTD.

I have to add more limitations to this problem.

 >I am looking for how to make an invisible folder from finder
 >and/or open/save dialog of regular application.  Any methods are
 >fine. Using programming in C is better.  ( I want a folder to be
 >same behavior as an invisible file )

Sorry, my last comment in parenthesis was wrong. 
 
Once I used ResEdit to invisible a Folder, Finder can not open/find it.
Means I make an Aliase of this Folder, then invisible its original folder
by ResEdit, then try to open this invisible folder from Aliase, it does 
not work.  Or if I open this Folder, then invisible it.  The folder is 
closed.

My wanted invisible folder should work both cases above!!

Is there any ideas??

Dave Hara

PS:I did not look thru MoreFiles_1.4.6 yet.

---------------------------

>From abz@prisco.net (Alain Birtz)
Subject: How to open a Control Panel with a script
Date: Mon, 10 Feb 1997 07:04:58 -0500
Organization: Cegep St-Hyacinthe

Where can I found an example showing a script to open a Control Panel.
The AppleScript Launch and Run commands do not open a Control Panel.

Thank you.

-- 
Alain Birtz
Cegep St-Hyacinthe College
CompuServe [72467,2770]
Internet abz@prisco.net

+++++++++++++++++++++++++++

>From dsample@synapse.net (Don Sample)
Date: Mon, 10 Feb 1997 15:52:07 -0500
Organization: DASoftware

In article <abz-1002970704580001@g37-69.citenet.net>, abz@prisco.net
(Alain Birtz) wrote:

>Where can I found an example showing a script to open a Control Panel.
>The AppleScript Launch and Run commands do not open a Control Panel.
>
>Thank you.
>
>-- 
>Alain Birtz

Open up the script editor, turn on recording, go the the Finder and open a
control panel.  Voila, instant example of a scipt to open a control panel.

-- 
Don Sample                          |
dsample@bix.com                     |    Quando Omni Flunkus Moritati
dsample@synapse.net                 |
http://www.synapse.net/~dsample/    | 

+++++++++++++++++++++++++++

>From gherrick@stratos.net
Date: Mon, 10 Feb 1997 21:50:24 -0600
Organization: (none)

In article <abz-1002970704580001@g37-69.citenet.net>, abz@prisco.net (Alain
Birtz) wrote:

You need to tell the finder to open the file. In other words:

tell application "Finder"
  set theControlPanel to "MyHardDisk:System Folder:Control Panels:xyz" as alias
  open theControlPanel
end tell

The reason this works and not launch or run is that control panels aren't
applications so they, in themselves, can't receive apple events. But the
finder can receive apple events (of course) so you just tell it to open the
file for you.

> Where can I found an example showing a script to open a Control Panel.
> The AppleScript Launch and Run commands do not open a Control Panel.
> 
> Thank you.
> 
> -- 
> Alain Birtz
> Cegep St-Hyacinthe College
> CompuServe [72467,2770]
> Internet abz@prisco.net


+++++++++++++++++++++++++++

>From kindall@manual.com (Jerry Kindall)
Date: Tue, 11 Feb 1997 21:16:09 -0500
Organization: Manual Labor

In article <gherrick-ya023180001002972150240001@nntp.stratos.net>,
gherrick@stratos.net wrote:

>In article <abz-1002970704580001@g37-69.citenet.net>, abz@prisco.net (Alain
>Birtz) wrote:
>
>You need to tell the finder to open the file. In other words:
>
>tell application "Finder"
>  set theControlPanel to "MyHardDisk:System Folder:Control Panels:xyz" as alias
>  open theControlPanel
>end tell

A better way is:

tell application "Finder"
    open control panel "Foo" of the control panels folder
end tell

This avoids hard-coding the path to the control panel, which will break if
you rename your hard disk or System Folder.

--
Jerry Kindall <kindall@manual.com>
Manual Labor  <http://www.manual.com/>
Technical Writing; Internet & WWW Consulting

Author of the Web Motion Encyclopedia
The comprehensive animation and video reference for Web designers
Coming Summer '97 from Waite Group Press

+++++++++++++++++++++++++++

>From dselcer@condor.depaul.edu (Daniel Selcer)
Date: 12 Feb 1997 20:53:34 GMT
Organization: DePaul University, Chicago Il.

A few messages ago someone wrote:

>The reason this works and not launch or run is that control panels aren't
>applications so they, in themselves, can't receive apple events. But the
>finder can receive apple events (of course) so you just tell it to open the
>file for you.

I have two related questions.

1. Does this mean that it is impossible to script activity in a control
panel?  I am trying to write a script that will (among other things)
open the Memory control panel (no problem here), turn on a RAM Disk
(problem), and set the RAM Disk size to a specified amount (problem).
If control panels are not scriptable in any way, this would seem to
be impossible.  Are there any other solutions?

2. I cannot figure out how to script a Restart.  If I attempt to record a
script which includes a Restart, the Script Editor closes and saves before
the Restart actually occurs, thus leaving it out of the script.  Is there
a way to *write* the Restart in, rather than record it? (Obviously, this
is step #2 for the script I described in my first question)

Thanks,
Daniel Selcer
dselcer@condor.depaul.edu


+++++++++++++++++++++++++++

>From neuron@rtt@synapse.net (Richard Tomkins)
Date: 13 Feb 1997 02:41:29 GMT
Organization: neuron, technology consultants

As I read your question, I thought, whoah, what's a happen'in here?
Some simple research would give you the RESTART answer.

You go to the Script Editor, you go to the File Menu and select Open
Dictionary, then you go to the Extensions folder and find the
Scriptable Finder Extension.

Right there, inside in the left column you'll see restart.

So, to answer your question,

Tell Finder restart and you're all set.

This MIND left BLANK Intentionally!

+++++++++++++++++++++++++++

>From glen_yates@cpqm.mail.NOSPAM.saic.com (Glen Yates)
Date: Thu, 13 Feb 1997 08:56:22 -0600
Organization: SAIC

In article <5dtake$dk5@shrike.depaul.edu>, dselcer@condor.depaul.edu
(Daniel Selcer) wrote:

> 1. Does this mean that it is impossible to script activity in a control
> panel?  I am trying to write a script that will (among other things)
> open the Memory control panel (no problem here), turn on a RAM Disk
> (problem), and set the RAM Disk size to a specified amount (problem).
> If control panels are not scriptable in any way, this would seem to
> be impossible.  Are there any other solutions?

You can only script that which is scriptable.

In the Script Editor select 'Open Dictionary' from the file menu, and
cruise around to see what you can script. In the Control Panels folder you
will not find much, save for the Desktop Patterns control panel. But hey,
at least you can write a script that will give you a new desktop pattern
everytime you run it, I did. :-)

-- 
Glen Yates
Software Engineer         --  To Reply remove .NOSPAM from my address

+++++++++++++++++++++++++++

>From jim vorbau <jvorbau@bright.net>
Date: Fri, 14 Feb 1997 21:21:34 -0500
Organization: BrightNet Ohio

> > 1. Does this mean that it is impossible to script activity in a control
> > panel?  I am trying to write a script that will (among other things)
> > open the Memory control panel (no problem here), turn on a RAM Disk
> > (problem), and set the RAM Disk size to a specified amount (problem).
> > If control panels are not scriptable in any way, this would seem to
> > be impossible.  Are there any other solutions?
> 
> You can only script that which is scriptable.
> 

To script what is not scriptable via AppleScript, try QuicKeys. With
QuickKeys, your Memory control panel task would be easy.

- Jim

+++++++++++++++++++++++++++

>From gherrick@stratos.net
Date: Sun, 16 Feb 1997 10:27:23 -0600
Organization: (none)


  In the future, many control panels will be scriptable. That's because
Apple is phasing out traditional control panels and defining a new type (as
of System 7.6) called "APPC" -- this will be a control panel that is
actually an application (as opposed to a cdev). So it will be possible to
make it scriptable. I would assume most of the System control panels (like
memory) will migrate to this new type pretty soon.  Right now, it is
illegal to call the Apple Event Manager from a 'cdev' resource since it has
no event loop.
  Of course, you have to wait around for these scriptable APPC's which
isn't much help right now.

- Graham

In article <glen_yates-ya02408000R1302970856220001@news.saic.com>,
glen_yates@cpqm.mail.NOSPAM.saic.com (Glen Yates) wrote:

> In article <5dtake$dk5@shrike.depaul.edu>, dselcer@condor.depaul.edu
> (Daniel Selcer) wrote:
> 
> > 1. Does this mean that it is impossible to script activity in a control
> > panel?  I am trying to write a script that will (among other things)
> > open the Memory control panel (no problem here), turn on a RAM Disk
> > (problem), and set the RAM Disk size to a specified amount (problem).
> > If control panels are not scriptable in any way, this would seem to
> > be impossible.  Are there any other solutions?
> 
> You can only script that which is scriptable.
> 
> In the Script Editor select 'Open Dictionary' from the file menu, and
> cruise around to see what you can script. In the Control Panels folder you
> will not find much, save for the Desktop Patterns control panel. But hey,
> at least you can write a script that will give you a new desktop pattern
> everytime you run it, I did. :-)
> 
> -- 
> Glen Yates
> Software Engineer         --  To Reply remove .NOSPAM from my address


+++++++++++++++++++++++++++

>From djembe@sprynet.REMOVE_TO_REPLY.com (Mike Cohen)
Date: Thu, 13 Feb 1997 11:21:51 -0700
Organization: ISIS International

In article <5dtake$dk5@shrike.depaul.edu>,
dselcer@condor.depaul.edu (Daniel Selcer) wrote:

You're thinking in terms of "even recording" type scripting such as
QuicKeys, KeyQuencer, etc. Rather than mimicing user actions (which is a
very inefficient & unreliable way to script since it depends on a known
system state, window position, and other variables), AppleScript works by
sending high level commands to an application telling it what you want done
rather than a series of user actions taken to accomplish it.

Since control panels & the chooser aren't scriptable, other solutions are
to use appropiate OSAXes (if available) with AppleScript or use an
alternative scripting language such as OneClick
<http://www.westcodesoft.com/> - I have no connection with them other than
as a satisfied user. I find OneClick to be the best of both worlds since it
combines "user action" type scripting with AppleEvent/AppleScript messages.

Alternative you can use something like PreFab Player or QuicKeys combined
with AppleScript to play back user events such as clicks & keystrokes. I
don't recall the location of Prefab Player, but you can find pointers to it
at <http://www.scripting.com/>.

For restarting, rather than selecting the menu command, how about:

tell application "Finder"
	restart
end tell

Go to the file menu, select the command "open script dictionary" and choose
any scriptable application (including the finder) to find out what commands
it supports.

| I have two related questions.
| 
| 1. Does this mean that it is impossible to script activity in a control
| panel?  I am trying to write a script that will (among other things)
| open the Memory control panel (no problem here), turn on a RAM Disk
| (problem), and set the RAM Disk size to a specified amount (problem).
| If control panels are not scriptable in any way, this would seem to
| be impossible.  Are there any other solutions?
| 
| 2. I cannot figure out how to script a Restart.  If I attempt to record a
| script which includes a Restart, the Script Editor closes and saves
before
| the Restart actually occurs, thus leaving it out of the script.  Is there
| a way to *write* the Restart in, rather than record it? (Obviously, this
| is step #2 for the script I described in my first question)
| 



[] Mike Cohen - djembe<at>sprynet.com - http://pobox.com/~djembe          []
[] ISIS International - mike<at>isis-intl.com - http://www.isis-intl.com/ []
[] JUNK MAIL NOT ACCEPTED *** finger mike.cohen<at>pobox.com for PGP key  []
[] Have a clear mind, be pure in your heart - Youssou N'dour, "Set"       []


+++++++++++++++++++++++++++

>From yoshis@amug.org (Darryl Tang)
Date: 22 Feb 1997 20:06:48 GMT
Organization: AMUG Internet Services 

You can write scripts in KeyQuencer that will control any control panel. 
It is not an Applescript script, so Apple scriptability is not a
requirement.  I've used KeyQuencer to create a ram disk, reboot the
machine, unstuff a system folder into the ram disk, and then reboot; works
great!

I really like KeyQuencer; you can even execute scripts on remote macs over
a network.

---------------------------

>From abz@prisco.net (Alain Birtz)
Subject: How to programaticaly make an alias of a file ?
Date: Tue, 04 Mar 1997 17:02:01 -0500
Organization: Cegep St-Hyacinthe

How to programaticaly make an alias of a file ?
(ie doing  something similar to "Make Alias of "File" Finder menu)
Code example or pointer will be greatly appreciated.

Thank you.

-- 
Alain Birtz
Cegep St-Hyacinthe College
CompuServe [72467,2770]
Internet abz@prisco.net

+++++++++++++++++++++++++++

>From jlaauwen@knoware.nl (Jos Laauwen)
Date: Wed, 05 Mar 1997 22:57:15 +0100
Organization: CODE ZERO

In article <abz-0403971702010001@g60-136.citenet.net>,
abz@prisco.net (Alain Birtz) wrote:

>How to programaticaly make an alias of a file ?
>(ie doing  something similar to "Make Alias of "File" Finder menu)
>Code example or pointer will be greatly appreciated.

About the same reply I gave you on your question about opening a control
panel:

Send the Finder a 'fndr' 'sali' message with Apple Events. A few days ago I
posted the code, replying a question that ressembled yours.



- -
jlaauwen@knoware.nl
Jos Laauwen, Geleen NL


+++++++++++++++++++++++++++

>From Anton Leouski <leouski@cs.umass.edu>
Date: Fri, 07 Mar 1997 17:14:32 -0500
Organization: CS Dep., UMASS at Amherst

Alain Birtz wrote:
> 
> How to programaticaly make an alias of a file ?
> (ie doing  something similar to "Make Alias of "File" Finder menu)
> Code example or pointer will be greatly appreciated.
> 
> Thank you.
> 
> --
> Alain Birtz
> Cegep St-Hyacinthe College
> CompuServe [72467,2770]
> Internet abz@prisco.net

Why not to create a new alias (NewAlias)
a new resource file file (FSpCreateResFile)
and strore this alias as 'alis' 0 resource 
in that file? Make file type 'adrp' and 
do not forget to fix "init" and "alias" bits
in the fileinfo flags. 

-- Anton

PS On the second thought sending an AppleEvent to Finder
might be easier ;)

+++++++++++++++++++++++++++

>From gurgle@apple.com (Pete Gontier -- DTS)
Date: Wed, 12 Mar 1997 17:34:20 -0800
Organization: Apple Computer, Inc.

In article <abz-0403971702010001@g60-136.citenet.net>,
abz@prisco.net (Alain Birtz) wrote:

 > How to programaticaly make an alias of a file ?
 > (ie doing  something similar to "Make Alias of "File" Finder menu)
 > Code example or pointer will be greatly appreciated.

    <ftp://ftpdev.info.apple.com/Developer_Services/Sample_Code/
        Interapplication_Communication/MoreFinderEvents/
            MoreFinderEvents.sit.hqx>

 --

  Pete Gontier, Integer Poet
  Apple Macintosh Developer Technical Support
  <http://www.devworld.apple.com/find.html>

  Clarification?        <mailto:devsupport@apple.com>
  Complaints? Kudos?    <mailto:devfeedback@apple.com>

---------------------------

>From abz@prisco.net (Alain Birtz)
Subject: How to programaticaly open a Control Panel ?
Date: Mon, 03 Mar 1997 15:00:18 -0500
Organization: Cegep St-Hyacinthe

How to programaticaly open a Control Panel ?
Code example will be greatly appreciated.

Thank you.

-- 
Alain Birtz
Cegep St-Hyacinthe College
CompuServe [72467,2770]
Internet abz@prisco.net

+++++++++++++++++++++++++++

>From amas@lhr-sys.dhl.com
Date: Tue, 04 Mar 1997 04:32:04 -0600
Organization: Deja News Usenet Posting Service

In article <abz-0303971500190001@g37-86.citenet.net>,
  abz@prisco.net (Alain Birtz) wrote:
>
> How to programaticaly open a Control Panel ?
> Code example will be greatly appreciated.
>

I am not all together sure, though I think that this solution involves
your program sending Apple Events to the finder.

Andre

- -----------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet

+++++++++++++++++++++++++++

>From jlaauwen@knoware.nl (Jos Laauwen)
Date: Tue, 04 Mar 1997 23:17:17 +0100
Organization: CODE ZERO

In article <abz-0303971500190001@g37-86.citenet.net>,
abz@prisco.net (Alain Birtz) wrote:

>How to programaticaly open a Control Panel ?
>Code example will be greatly appreciated.

Send the Finder a 'fndr' 'odoc' message with Apple Events. A few days ago I
posted the code, replying a question that ressembled yours.


- -
jlaauwen@knoware.nl
Jos Laauwen, Geleen NL


+++++++++++++++++++++++++++

>From "Andrew McPherson" <MCPHERAN@mail.cit.ac.nz>
Date: 5 Mar 97 01:54:02 GMT
Organization: Central Institute of Technology

Jos Laauwen <jlaauwen@knoware.nl> wrote in article
<AF425DFD96685518@eindhoven-ppp0.knoware.nl>...
> In article <abz-0303971500190001@g37-86.citenet.net>,
> abz@prisco.net (Alain Birtz) wrote:
> 
> >How to programaticaly open a Control Panel ?
> >Code example will be greatly appreciated.

Go to www.devworld.apple.com, they have sample code for control panels.

---------------------------

>From nathanst@csua.berkeley.edu (Nathan Sturtevant)
Subject: Netsprockets questions..
Date: 13 Mar 1997 21:31:36 GMT
Organization: University of California, Berkeley

I have been asking all around, but haven't gotten any responses,
so if anybody knows ANYTHING about this, let me know...

I am getting ready to release a game that uses NetSprockets. The
liscensing stuff seemed to say that I can't distribute the library
w/o ALL of open transport, which is a little bit much for a shareware
game. Is this true? If it is, how should people get NetSprockets for
my game?

Has anyone released a game using Netsprockets? I wan't to make
sure I get all the legal stuff correct, it would be good to see what
someone else has done.

Nathan Sturtevant
nathanst@csua.berkeley.edu

+++++++++++++++++++++++++++

>From farrier@dnai.com (Cary Farrier)
Date: Fri, 14 Mar 1997 22:22:07 -0800
Organization: DNAI ( Direct Network Access )

In article <5g9rno$em6@agate.berkeley.edu>, nathanst@csua.berkeley.edu
(Nathan Sturtevant) wrote:
> I am getting ready to release a game that uses NetSprockets. The
> liscensing stuff seemed to say that I can't distribute the library
> w/o ALL of open transport, which is a little bit much for a shareware
> game. Is this true? If it is, how should people get NetSprockets for
> my game?

I wouldn't redistribute OT with your game, but I would give your users
a pointer to where they can find it on Apple's web pages:

<http://17.126.23.20/dev/opentransport/Download/OT1.1.2.sea.hqx>

Or better yet, have them point their browsers to:

<http://17.126.23.20/dev/opentransport/>

since the URL is less likely to change.

OT also comes installed on systems nowadays, so the likelyhood of the
user not having it already will be smaller with time.  Your code
should check for the presence of OT, and if it isn't there you could
use InternetConfig to open the URL for them (if they choose).

-> Cary

-- 
Cary Farrier, formerly Mr. Draw Sprocket, now doing contract work
farrier@dnai.com
<http://www.dnai.com/~farrier>

+++++++++++++++++++++++++++

>From Maf Vosburgh <maf@mmcorp.com>
Date: 17 Mar 1997 16:52:49 GMT
Organization: MultiMedia Corporation

In article <farrier-1403972222070001@isdn7-174.isdn.dnai.com> Cary
Farrier, farrier@dnai.com writes:
>Cary Farrier, formerly Mr. Draw Sprocket, now doing contract work

Shame - Apple shouldn't have cut the sprockets. 

Good luck as a contracter, Cary. 


Maf


---------------------------

>From Ashish.Ranpura@Yale.EDU (Ashish Ranpura)
Subject: Possible to anti-alias sprites?
Date: Tue, 11 Mar 1997 09:32:22 -0500
Organization: Yale University

I have a sprite that I'd like to display anti-aliased. I don't really know
if this is possible, since I cannot anti-alias the mask, and the resulting
sprite inevitiably looks like it has white mold growing on it. 

Has anyone here used anti-aliased sprites successfully?

- -AR.

+++++++++++++++++++++++++++

>From jstiles@uclink4.berkeley.edu (John Stiles)
Date: 12 Mar 1997 19:34:32 GMT
Organization: University of California, Berkeley

In article <Ashish.Ranpura-ya02408000R1103970932220001@news.yale.edu>,
Ashish.Ranpura@Yale.EDU (Ashish Ranpura) wrote:

> I have a sprite that I'd like to display anti-aliased. I don't really know
> if this is possible, since I cannot anti-alias the mask, and the resulting
> sprite inevitiably looks like it has white mold growing on it. 
> 
> Has anyone here used anti-aliased sprites successfully?

You'd have to use CopyDeepMask (quite slow) and make an antialiased mask
for it. (instead of antialiasing the edges directly)

*Stiles

+++++++++++++++++++++++++++

>From karlbunker@aol.com (KarlBunker)
Date: 13 Mar 1997 16:40:33 GMT
Organization: AOL http://www.aol.com

Ashish.Ranpura@Yale.EDU (Ashish Ranpura) sez:

> I have a sprite that I'd like to display anti-aliased. I don't really
> know if this is possible, since I cannot anti-alias the mask, and the
> resulting sprite inevitiably looks like it has white mold growing on
> it.

The simplest approach is to do the anti-aliasing when you create the
sprite in your graphics program. Assuming you start by drawing the sprite
over-sized, and then shrink it in your graphics application, all you have
to do is put it on a background that appoximates the background it will
have in your game. If the background of your game is mixed or
unpredictable, put the sprite on a 50% gray background. Then shrink the
sprite to its final size, apply a sharpen filter if you want, and as a
final step, erase the background. If your graphics app. does shrinking
with a "smooth" or "dithered" option, then the edge pixels of the sprite
will have a color intermediate between the body of the sprite and the
background. In other words they'll be anti-aliased.

Karl Bunker
KarlBunker@aol.com
http://users.aol.com/karlbunker/

+++++++++++++++++++++++++++

>From Bruce@hoult.actrix.gen.nz (Bruce Hoult)
Date: Wed, 12 Mar 1997 11:38:59 +1300
Organization: (none)

Ashish.Ranpura@Yale.EDU (Ashish Ranpura) writes:
> I have a sprite that I'd like to display anti-aliased. I don't really know
> if this is possible, since I cannot anti-alias the mask, and the resulting
> sprite inevitiably looks like it has white mold growing on it. 

I think you *could* do it, but it would be very slow, and you'd have to write
your own blitter.

You'll need to have an 8-bit mask, with the value indicating what proportion of
the pixel is covered by the sprite.  To draw each sprite pixel where the mask is
not 255 you'll need to get the RGB value of the background at that point, the
RGB value of the sprite at that point, do a linear interpolation between them
-- background + (mask/256)*(sprite-background) -- for each of the R, G and B
channels.

If you're working in an indexed cvolour mode (8 bit or less), then you'll need
to do a lookup on the pixels at the start, and match to the closest palette colour
afterwards.

-- Bruce

--
...in 1996, software marketers wore out a record 31,296 copies of Roget's
Thesaurus searching for synonyms to the word "coffee" ...

+++++++++++++++++++++++++++

>From "Matthew" <matthewf@panix.com>
Date: Sat, 15 Mar 1997 09:07:51 -0500
Organization: PANIX Public Access Internet and Unix, NYC

Ashish.Ranpura@Yale.EDU (Ashish Ranpura) writes:
> I have a sprite that I'd like to display anti-aliased. I don't really know
> if this is possible, since I cannot anti-alias the mask, and the resulting
> sprite inevitiably looks like it has white mold growing on it. 

you could always antialias the 'insides' of sprites and not do the edges -
like the way finder icons are supposed to be done.

if your games background is mostly a solid color (like black for a space
game) you could antialias the sprite to black edges (look at any space
game's sprites, like Maelstrom, as an example)

Matthew

+++++++++++++++++++++++++++

>From amas@lhr-sys.dhl.com
Date: Tue, 18 Mar 1997 05:21:02 -0600
Organization: Deja News Usenet Posting Service

In article <Ashish.Ranpura-ya02408000R1103970932220001@news.yale.edu>,
  Ashish.Ranpura@Yale.EDU (Ashish Ranpura) wrote:
>
> I have a sprite that I'd like to display anti-aliased. I don't really know
> if this is possible, since I cannot anti-alias the mask, and the resulting
> sprite inevitiably looks like it has white mold growing on it.
>
> Has anyone here used anti-aliased sprites successfully?
>



I haven't anti-aliased sprites before, though I have a few thoughts.
Just one thing, I might say a few things that you know already so just
bare with me:
  - One approach to anti-aliasing is to outline the sprite with the
    adjacent colours having values betwen the sprite pixel and the
    background pixel. So, a black pixel in the sprite next to a white
    pixel in the background results in a grey intermediate pixel.

  - You can anti-aliase a sprite in advance to the game only if the
    background stays the same. Though you can try it out and decide
    for yourself whether it looks okay.

  - Games consoles will often do the anti-aliasing in hardware

  - I believe in the more recent versions of quickdraw you can have
    a colour pen mode that is semi-transparent. So when you copy your
    sprite onto the background you get a semi-transparent appearance.
    Taking this into account you would copy your sprite, making the
    sprite slightly larger than it should be with a grid position less
    than the real position of the sprite.  Then copy the opaque sprite
    to its real position and at is real size.

    As an example:
       Set pen mode to semi-transparent
       Get sprite rect
       Inset rect -1,-1 -- this expands the rectangle
       copy sprite to temporay gworld

       Set pen mode to opaque
       Get sprite rect
       copy sprite to temporay gworld

       copy gworld to screen

  This might work out to be rather slow, but as in most cases, if you
know  how to do it right you could probably work-out a way of cheating
;-)

Andre

- -----------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet

---------------------------

>From ducant@holyrood.ed.ac.uk (Duncan Thomson)
Subject: Posting to sumex-aim
Date: 21 Feb 1997 10:36:02 GMT
Organization: Edinburgh University

 
Hello,

Can someone tell me how long it usually takes for a posted item
appear on the sumex-aim ftp site.

That's all,

Thanks,

--
Duncan Thomson     Duncan.Thomson@ed.ac.uk

+++++++++++++++++++++++++++

>From ericc@metrowerks.com (Eric Cloninger)
Date: Fri, 21 Feb 1997 09:41:19 -0500
Organization: Metrowerks, Corp.

In article <5ejtqi$bfm@scotsman.ed.ac.uk>, ducant@holyrood.ed.ac.uk (Duncan
Thomson) wrote:

> Can someone tell me how long it usually takes for a posted item
> appear on the sumex-aim ftp site.

Sometimes a week, sometimes two months.  That's my experience over the last
six months with a couple of submissions.  I think they had a really bad
time last August.  It helps if you include the phrase "Peter Lewis" in your
submission email.  I think they have a mailbot that searches for his name
so they can post his stuff immediately. :-)

-E

- ------------------------------------------------------------------
|  Eric Cloninger, x86 Debugger Debugger  |  ericc@metrowerks.com  |

+++++++++++++++++++++++++++

>From trickys@ix.netcom.com (Tricky S)
Date: Fri, 21 Feb 1997 19:21:25 -0600
Organization: Tricky S Software Factory

They ran out of disk space late last year & just relocated to a new server
(at least that was their explanation of why it took them so long to post a
game I submitted last fall). Then, when it finally DID appear, the
application file was corrupted, yet oddly enough the 20-30 support files
in the StuffIt! archive were undamaged. Had someone tried to tinker with
my application for whatever reason I wondered? I of course immediately
submitted a replacement archive. That was a month ago. I am still waiting
for it to show up online, and still receiving e-mail from angry
disgruntled downloaders who discover the corrupted application.

-S

In article <5ejtqi$bfm@scotsman.ed.ac.uk>, ducant@holyrood.ed.ac.uk
(Duncan Thomson) wrote:

>  
> Hello,
> 
> Can someone tell me how long it usually takes for a posted item
> appear on the sumex-aim ftp site.
> 
> That's all,
> 
> Thanks,
> 
> --
> Duncan Thomson     Duncan.Thomson@ed.ac.uk

+++++++++++++++++++++++++++

>From greyland@continet.com (Steve Ebener)
Date: Fri, 21 Feb 1997 11:27:32 -0800
Organization: Greyland

Duncan Thomson <ducant@holyrood.ed.ac.uk> wrote:

>  
> Hello,
> 
> Can someone tell me how long it usually takes for a posted item
> appear on the sumex-aim ftp site.

  That depends on the amount of other posts, time of week, and whether
you sent your file during a holiday. 

  Normally, it shouldn't take more than a week. 
-- 
Steve Ebener 
Greyland - greyland@continet.com 
541/744-0568  
Macintosh Consulting & Troubleshooting 

---------------------------

>From Joshua C Horan <horan+@andrew.cmu.edu>
Subject: Process Manager: hiding
Date: Tue, 25 Feb 1997 09:14:22 -0500
Organization: Freshman, MCS Undeclared, Carnegie Mellon, Pittsburgh, PA

I need to be able to hide my process no matter where it is in the
proccess list--it's kind of a background app that I can't use the
Notification manager to get around not using any windows. Is there a way
to do this.  It doesn't matter if the code is undocumented, this is just
a hack that I have to put tpgether as a challenge.

Thanks,
Josh Horan 

+++++++++++++++++++++++++++

>From Joshua C Horan <horan+@andrew.cmu.edu>
Date: Tue, 25 Feb 1997 21:16:08 -0500
Organization: Freshman, MCS Undeclared, Carnegie Mellon, Pittsburgh, PA

Excerpts from netnews.comp.sys.mac.programmer.help: 25-Feb-97 Process
Manager: hiding by Joshua C Horan@andrew.cm 
> I need to be able to hide my process no matter where it is in the
> proccess list

 Well after some searching I found an answer.  It seems that under sys 7
a call to SystemMenu(0xBF970001) will do the trick.  OK, now the harder
part (I think).  Once my application is hidden I want to remove it from
the process menu.  Any idea on how you can remove a process from the
menu without quitting?

-Josh Horan 

+++++++++++++++++++++++++++

>From Joshua C Horan <horan+@andrew.cmu.edu>
Date: Wed, 26 Feb 1997 08:15:26 -0500
Organization: Freshman, MCS Undeclared, Carnegie Mellon, Pittsburgh, PA

Excerpts from netnews.comp.sys.mac.programmer.help: 26-Feb-97 Re:
Process Manager: hiding by Glenn@concentric.net.no. 
> Make a faceless background app that runs all the time.

No can do.  My goal is to make a hack that when run will launch another
application, hide it and then remove it from the process list.  The
applications that I would lauch have already been written and are
WindowManager intensive code.  I have no control over the window usage
of the program I will be launching.


Excerpts from netnews.comp.sys.mac.programmer.help: 26-Feb-97 Re:
Process Manager: hiding by Glenn@concentric.net.no. 
> 
> Going down the path you are currently contemplating will
> bring you nothing but misery. 

Sure Misery, but that's OK, that's what writing unsupported hacks is all
about! :)  This is a hack and the only person who will use it is me (and
maybe my friend).  It is a programming challenge that I took up with a
friend to see who could hack it first!

--Josh Horan 

+++++++++++++++++++++++++++

>From glenn@concentric.net.no.spam (Glenn)
Date: Wed, 26 Feb 1997 02:32:57 -0400
Organization: Concentric Internet Services

Here's what I suggest you do:

Make a faceless background app that runs all the time.
It will not show up in the app menu. When you need to interact
with the user, launch a face-full application that quits
when the interaction is done. Note that if you use CFM 
(and CFM 68k almost has its act together) you can actually
put most of the code used by both applications in a shared
library that they link against (Just be sure to turn on
"Shared Data" or you'll have two copies of your globals
floating around.)

Going down the path you are currently contemplating will
bring you nothing but misery. 

Glenn


In article <Mn4tnci00iWm0GGFo0@andrew.cmu.edu>, Joshua C Horan
<horan+@andrew.cmu.edu> wrote:

> Excerpts from netnews.comp.sys.mac.programmer.help: 25-Feb-97 Process
> Manager: hiding by Joshua C Horan@andrew.cm 
> > I need to be able to hide my process no matter where it is in the
> > proccess list
> 
>  Well after some searching I found an answer.  It seems that under sys 7
> a call to SystemMenu(0xBF970001) will do the trick.  OK, now the harder
> part (I think).  Once my application is hidden I want to remove it from
> the process menu.  Any idea on how you can remove a process from the
> menu without quitting?
> 
> -Josh Horan
glenn@concentric.net.no.spam

+++++++++++++++++++++++++++

>From "Amanda Walker" <amanda@ascend.com>
Date: Thu, 27 Feb 1997 19:25:50 -0500
Organization: Ascend Communications, Inc. (Client Software Group)

Joshua C Horan <horan+@andrew.cmu.edu> wrote:
> My goal is to make a hack that when run will launch another
> application, hide it and then remove it from the process list.  The
> applications that I would lauch have already been written and are
> WindowManager intensive code.  I have no control over the window usage
> of the program I will be launching.

This is infeasible using simple methods.  The application menu is not so
much a process menu as it is a layer menu, and windows can't exist without a
layer to live in.  And no, you don't want to mess with the Layer
Manager--trust me.

The only way I can think of off hand to do this would be something along the
lines of writing an INIT that would stuff a new menu defproc into the
process menu.  Your custom defproc could then skip the application while
drawing and
calculating the size (being sure to offset items after it when hit-testing).
You'd also have to head and tail patch SystemMenu so that you could catch
"Show All".  Note that if this description doesn't quite make sense, you
probably need more experience with trap patches and INITs :).

If you're doing this on a bet, I hope there's a lot at stake :).  I'd rate
this at least a Fancy Dinner Challenge, not a Beer Or Two Challenge, unless
you've both written this sort of low-level Mac software before.


Amanda Walker
Ascend Communications, Inc.

+++++++++++++++++++++++++++

>From jeremyr@dcs.qmw.ac.uk (Jeremy Roussak)
Date: 28 Feb 1997 19:32:16 GMT
Organization: Queen Mary & Westfield College, London, England

In article <Mn4tnci00iWm0GGFo0@andrew.cmu.edu>
Joshua C Horan <horan+@andrew.cmu.edu> writes:

> Excerpts from netnews.comp.sys.mac.programmer.help: 25-Feb-97 Process
> Manager: hiding by Joshua C Horan@andrew.cm 
> > I need to be able to hide my process no matter where it is in the
> > proccess list
> 
>  Well after some searching I found an answer.  It seems that under sys 7
> a call to SystemMenu(0xBF970001) will do the trick.  OK, now the harder
> part (I think).  Once my application is hidden I want to remove it from
> the process menu.  Any idea on how you can remove a process from the
> menu without quitting?

I can't answer that, unfortunately. However, a more flexible way of
hiding any application is to use the Finder, sending it an apple event.
In AppleScript, the event is

    tell application "Finder" to set visible of process "foo" to false

You have to have a special case for the Finder itself, though:

    tell application "Finder" to set visible to false

Jeremy

---------------------------

>From T.J. Patterson <monoply@primenet.com>
Subject: Program Version #'s?
Date: 25 Feb 1997 05:16:01 -0700
Organization: Primenet (602)416-7000

I was wondering how one decides on a version number for their software
programs? I see things like 1.0, 3.0.5, etc.. Is there some formula I
should be using to determine this, or is it just an arbitrary number
getting larger with each new release? Thanks for any help.

T.J. Patterson
monoply@primenet.com


- ------------------------------------------------------------------------
- -Spammers Please Read Before Sending Me Unsolicited Commercial Email!---
- ------------------------------------------------------------------------
By US Code Title 47, Sec.227(a)(2)(B), a computer/modem/printer meets
the definition of a telephone fax machine. By Sec. 227(b)(1)(C), it is
unlawful to send any unsolicited advertisement to such equipment. By Sec.
227(b)(3)(C), a violation of the areforementioned section is punishable by
action to recover the actual monetary loss, or $500, whichever is greater,
for each violation.
- ------------------------------------------------------------------------

+++++++++++++++++++++++++++

>From Figaro Tea <humphret@cs.winthrop.edu>
Date: Tue, 25 Feb 1997 12:27:16 -0500 (EST)
Organization: Info Avenue INTERNET Access

On 25 Feb 1997, T.J. Patterson wrote:

> I was wondering how one decides on a version number for their software
> programs? I see things like 1.0, 3.0.5, etc.. Is there some formula I
> should be using to determine this, or is it just an arbitrary number
> getting larger with each new release? Thanks for any help.

Like the national debt it just keeps growing and growing with no apparent 
pattern and/or limit.

Hope this helps,

..._Tim_...
--=[There is great power in the act of visualization.]=--
http://www.winthrop.edu/~humphret
zzhumphreyt@winthrop.edu


+++++++++++++++++++++++++++

>From woody@alumni.caltech.edu (William Edward Woody)
Date: Tue, 25 Feb 1997 11:50:20 -0800
Organization: In Phase Consulting

T.J. Patterson <monoply@primenet.com> wrote:
> I was wondering how one decides on a version number for their software
> programs? I see things like 1.0, 3.0.5, etc.. Is there some formula I
> should be using to determine this, or is it just an arbitrary number
> getting larger with each new release? Thanks for any help.

It's just an arbitrary number that should get larger with each new
release.

I've even heard of companies who increment the 'major' version once a
year regardless of the actual progress of the product--on the theory
that as they are going to charge more for upgrades once a year, the
customers would be happier if they received a product which was one
full version higher.

I usually reserve major version increases for substantial improvements
which may render this product different enough from the prior version
that it requires new documentation and a new learning curve. Minor
version numbers are for releases that do not qualify for a major
version number increment. And I'll often put the 'build' number (which
is the number of times I've linked the product with the compiler's
linker) in parentesis following the major.minor version--but that's
for pre-release versions of the code which beta testers and internal
alpha people will reserve. The final shipping version may hide this
build number.

But this is just one of many ways to approach the version number
situation. Another way is to increment the version number every time
you do a release; while not popular in the PC and Mac market, you
see this with mainframe software.

                                                - Bill

-- 
William Edward Woody - In Phase Consulting - woody@alumni.caltech.edu
                 http://www.alumni.caltech.edu/~woody

+++++++++++++++++++++++++++

>From "Jason M. Smith" <jsmith@es.com>
Date: Tue, 25 Feb 1997 19:53:05 -0700
Organization: Evans & Sutherland

T.J. Patterson wrote:
> 
> I was wondering how one decides on a version number for their software
> programs? I see things like 1.0, 3.0.5, etc.. Is there some formula I
> should be using to determine this, or is it just an arbitrary number
> getting larger with each new release? Thanks for any help.
> 
> T.J. Patterson
> monoply@primenet.com

	The version numbers can be broken down to:  A.B.C

	A denotes a major release - major new features, new interface, etc.
	B denotes minor features added, but nothing huge.
	C is for bug fixes.

	Unless, of course, you're Microsoft, then this all goes out the
window.  :)

-- 
Jason M. Smith
Software Engineer	1215 S. McClelland St.	600 Komas Dr.
Display Group		Salt Lake, UT 84105	Salt Lake City, UT 84158
Evans & Sutherland	(801) 486-2378 (H)	(801) 588-7552 (W)

+++++++++++++++++++++++++++

>From online@mactech.com (nick.c MacTech)
Date: Wed, 26 Feb 1997 00:18:03 -0800
Organization: MacTech Magazine



T.J. Patterson <monoply@primenet.com> wrote:

>I was wondering how one decides on a version number for their software
>programs? I see things like 1.0, 3.0.5, etc.. Is there some formula I
>should be using to determine this, or is it just an arbitrary number
>getting larger with each new release? Thanks for any help.


   As other folks have said, it can vary according to each programmers
     interpretation.  But in general, A.B.C.D is such that

      D increments are for internal, development, versions.

      C is for bug fixes and patches, usually not widely distributed.

      B is for signicant feature additions and important bug fixes.

      A is reserved for major changes in the program.

     When you have a chance pop open resedit and create a new 
     'vers' resource.  The labels associated with it give some
     idea of how Apple at least interprets the numbers.

   Luck,