HDTenEightyP/NetNews huggingface dataset:
From: jkc@Apple.COM (John Kevin Calhoun)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: HyperCard won't let me do libraries!?
Date: 19 Nov 92 17:54:44 GMT
Organization: Apple Computer Inc., Cupertino, CA


In article <jpugh-171192212941@kip2-56.apple.com> jpugh@apple.com
(Jon Pugh) writes:
>In article <1992Nov17.104028.12220@waikato.ac.nz>, ldo@waikato.ac.nz
>(Lawrence D'Oliveiro, Waikato University) wrote:
>> 
>> But I hit a snag--namely, a bug in HyperCard. The library stack correctly
>> appears in the "StacksInUse" list, but when I try invoking an external from
>> that library, HyperCard just beeps at me. I can make it come right if I try
>> again a second time, but it always fails that first time.

>I commend you on your persistence.  I tried this quite some time ago and
>just assumed it didn't work because of this problem.  I wasn't as
>persistent as you were.  We'll have to see if Kevin "HyperDeity" Calhoun
>has any wise words on the whys and wherefores of the issue.

No deification please; we already have our pantheon of HyperGods, and I
regularly slime them for having abused their privileges.  As for me, I'd
rather just have them give me the project back, thanks.  :-)

Thanks, Lawrence, for posting the materials that allowed me to reproduce
this bug.  Here's the nub of it (this information applies to HyperCard 2.0,
2.0v2, and 2.1):

When you send a message to a stack other than the current stack, and the
resource fork of the target stack has not been opened since HC was last
launched, HyperTalk will open the resource fork, cache information about
its externals, and then close the resource fork, thereby invalidating
some of that information without realizing it.  When the resource fork of
the stack is next opened, HyperTalk won't refresh its cache, because it
thinks it already has all of the relevant data.  However, everything gets
back in synch after the resource fork is closed a second time.

This problem will also surface if you send a message to another stack, and
the message is intercepted by a handler that invokes an external command.

The workaround for versions 2.0, 2.0v2, and 2.1 is to visit the stack once
before trying anything fancy, such as sending it the StartUsing message
described in Lawrence's document.  So, you can do this to make things work:

  lock screen
  lock messages
  go stack "Library"
  go back
  unlock screen
  unlock messages
  send StartUsing to stack Library

It's actually slightly faster, however, to do it this way:

  lock screen
  lock messages
  push card
  go stack "Library"
  StartUsing
  pop card
  unlock screen
  unlock messages

This does the trick for the stacks that were posted.

BTW, if there's ever another version of HyperCard, this bug will be fixed
therein, thanks to Lawrence, whose bug reports are always invaluable.

Kevin Calhoun
jkc@apple.com
From: nodine@lcs.mit.edu (Mark H. Nodine)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Emulating tabs in print reports
Date: 23 Nov 92 20:08:12 GMT
Organization: MIT Laboratory for Computer Science

In article <69439@cup.portal.com>, David_Greg_Herlihy@cup.portal.com writes:
|> OK, here's the problem (some might find this an odd mission, but HyperCard
|> should be kinky!)
|> 
|> I've go t a field I want to print out as part of a print report.  I don't
|> want to load up the field with all sorts of "on mouseleave" type handlers,
|> just let the user type what she or he wants.  When I print the field in
|> the Report, however, I want to give it an indented effect.  In Word, this
|> would be like inserting a tab before each line to indent, say, half an inch.

I don't understand what the problem is.  In your Print Report template, why
don't you just move the left side of the item printing the field?

	--Mark
Organization: Junior, Student Defined Major, Carnegie Mellon, Pittsburgh, PA
Newsgroups: comp.sys.mac.hypercard
Date: Sun, 15 Nov 1992 15:44:29 -0500 
From: "Adam C. Gross" <ag3j+@andrew.cmu.edu>
Subject: Loading CLUTs in HC
	<1e3dvhINN3lr@uwm.edu>

I'm using ColorizeHC and I'm having a problem with the way its drawing
some PICT resources... the CLUT resources are there, but is not shifting
the CLUT when the pictures are loaded.  Is there anyway I can force HC
to load the appropriate CLUT?

Please email replies..
Thanks,
Adam
From: draper@odin.mda.uth.tmc.edu (E.J. Draper)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Word 5.1 & AppleEvents
Date: 16 Nov 1992 16:39:46 GMT
Organization: U.T.M.D. Anderson Cancer Center
X-UserAgent: Nuntius v1.1.1d12
X-XXMessage-ID: <A72D2C1BE601019A@mdarpi1.mda.uth.tmc.edu>
X-XXDate: Mon, 16 Nov 92 16:44:43 GMT

In article <jpugh-131192215659@kip2-50.apple.com> Jon Pugh,
jpugh@apple.com writes:
>First off, Apple Event support is tough.  It requires a lot of rewriting
>and redesign.  

It's great to hear somebody at Apple admit it!!  

When I look at object model examples my head starts to spin.

I really think that Apple needs to realize that a lot of developers are
utterly stupefied by the object model.  It's not the code as much as it's
the terminology and conceptual stumbling blocks that cause me anguish.  I
find these issues terribly confusing and I've been programming the Mac
for years.  I've also written (non object model) AE code in XCMDs and
stand alone applications for quite some time.  

Sometimes I wonder if it's some great conspiracy!  
I ask myself: 
Am I an idiot or is somebody at Apple going to great lengths to sell DU's
Object Model course? ;-)

Some of my hacker friends (who are bright people and excellent
programmers) refuse to deal with AppleEvents because they don't want to
take the time to understand the AppleEvent Manager.  They wont even
consider object model support!

I think this is a larger problem for Apple than they think it is.  If
Apple wants the developer community to adopt object model AppleEvents,
and this will be essential if AppleScript is going to succeed, it will
have to do the following:
	
1) Document the object model in *far* less esoteric terms.
2) Embark upon an educational crusade.  
   (Not just horrendously priced DU classes)
3) Simplify the implementation.


      |E|J-  ED DRAPER
 rEpar|D|<-  Radiologic/Pathologic Institute
             The University of Texas M.D. Anderson Cancer Center
             draper@odin.mda.uth.tmc.edu
Newsgroups: comp.sys.mac.hypercard
From: jpugh@apple.com (Jon Pugh)
Subject: Re: Importing/accessing text files
Date: Wed, 18 Nov 1992 05:25:32 GMT
Organization: Apple Computer, Inc.
Followup-To: comp.sys.mac.hypercard

In article <1992Nov16.155906.8559@jhunix.hcf.jhu.edu>,
crawford@jhunix.hcf.jhu.edu (James E Crawford) wrote:
> 
> I am looking for a way to have HyperCard access text files between 100k and
> 300k in size. As I understand it, there is a 30k limit to the amount of text
> which can be put into a field. Is there any way around this? or is there any
> way to have HyperCard open the text file?

You can munge the text file, but you can't put it into a field.  You'll
have to put the text into a number of fields.   In 2.1 the file commands
have been extended so you can say things like:

  read from file <name> until eof

and read the entire file into the variable "it".  This is the fastest way
to read the file into memory.  After that you can munge the file to your
heart's content.

I'll leave the field manipulation to you.  The 30K limit basically sucks.

Jon
From: gasser@eniac.seas.upenn.edu (Nathan Gasser)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Why HyperCard
Date: 23 Nov 92 07:51:09 GMT


Lawrence writes:
>I'm an admitted HyperCard enthusiast, but this one stumps me: why is having
> a run-only version of HyperCard such a neat feature?

For one, users can't screw up your stacks (as easily) this way.
The real reason, however, is so that Claris can generate some
revenue by selling the developer version.  These days, it's pretty
unrealistic to ask that a company continue supporting and improving
a product that gets given away for free.  Simply charging for the existing
HyperCard limits your audience -- you can't expect everyone to purchase
HyperCard just to run your stacks.  Also, you don't have to pay royalties
to distribute HyperCard with your product.

Personally, I'm liking the idea of building a stack into an application,
something that is possible with the latest developer version of HyperCard.

Nate.

--

Nathan Gasser       ><>         
gasser@eniac.seas.upenn.edu
From: mld8d@curry.edschool.Virginia.EDU (Marcy Lynn Ditmore)
Newsgroups: comp.sys.mac.hypercard
Subject: Next HyperCard?
Date: 23 Nov 92 16:43:35 GMT
Organization: University of Virginia

I was wondering if anybody would venture to guess when the next
and newer version of HyperCard will come out.  I am
particularly interested in a color HyperCard.  Along those same
lines, can you convert HyperCard stacks to SuperCard stacks.  I
amcurrently working on a three year project and the client
wishes to have color in the final version.  However, we are
doing the prototype on HyperCard 2.1.  The final question is
will the HyperCard stack that is in the black and white (2.1)
be transferable to the color version if it comes out in the
next 1 or 2 years.
--
Organization: University of Illinois at Chicago
Date: Thursday, 19 Nov 1992 19:31:59 CST
From: Theodore Stresen-Reuter <U42075@uicvm.uic.edu>
Newsgroups: comp.sys.mac.hypercard
Subject: FAQ -- Is there one?

Of late there has been lots of quality information on the net.
Unfortunately, I am not in need of most of it at this time but it made
me wonder if anyone has taken on the awsome task of creating and
maintaining a FAQ for this newsgroup.  Any clues?

     Theodore Stresen-Reuter
     u42075@uicvm.cc.uic.edu
     Interactive design enthusiast and Spanish teacher

Newsgroups: comp.sys.mac.hypercard
From: Martin Gannholm <gandalf@apple.com>
Subject: Re: Visual Effects in Monitor Millions mode
X-Useragent: Nuntius v1.1.1d12
Date: Sun, 22 Nov 1992 01:16:31 GMT
X-Xxdate: Sat, 21 Nov 92 01:16:18 GMT
X-Xxmessage-Id: <A7341F62BB0103EE@kip2-49.apple.com>
Organization: Apple Computer, Inc.

In article <a.hopson-191192082520@macm6210.trl.oz.au> Alan Hopson,
a.hopson@trl.oz.au writes:
>I specified a "barn door open" visual effect for changing betwen two
cards
>in a stack which resulted in the following behavior under different
monitor
>depth settings:
>   Monitor Setting       Visual Effect Observed
>    256                   barn door open
>    thousands             wipe down
>    millions              wipe down
>
>Can anyone explain why the visual effect is ignored when the monitor
depth
>is set above 8 bits?

Yes, the code to do visual effects writes to the screen directly, and 
therefore needs code that knows about different bit-depths. HyperCard 2.0 
and later have effect loops for 1, 2, 4 and 8 bits but we didn't bother
with the greater bit depths, mostly because 24-bit color wasn't very 
common back in '89 when these decisions were made and the code was
written.

Another good reason can be derived from your results above: thousands 
and millions of colors cause a "wipe down"; actually the Mac is moving
the 
data on to the screen as fast as it can, however it isn't fast enough to 
appear on the screen immediately so it looks like a wipe down. For a
9-inch 
(standard size) stack at 24 bits it's about 700K of data; for a 12- or 13-
inch monitor size stack it's 1.2 MB! It might not be so bad if it "only" 
had to move that amount of data from memory to the screen, but it has to 
do an on-the-fly conversion from HyperCard's 1-bit offscreen buffer to
the 
24 bit screen, taking several times longer than a straight data copy
would.

With fast machines, fast on-board video and also the use of 24-bit color 
becoming more common Claris may do well to consider adding that
capability 
to a future version of HyperCard. If a color version of HyperCard is in
the 
pipe as everyone is expecting I'm sure they've already thought of this.
We'll just have to wait and see.

Martin Gannholm
Apple Computer
Former HyperCard 2.x Guy
From: jkc@Apple.COM (John Kevin Calhoun)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Apple Event questions
Date: 18 Nov 92 01:28:26 GMT
Organization: Apple Computer Inc., Cupertino, CA


In article <1992Nov16.125944.3236@email.tuwien.ac.at>
stephan@iguwnext.tuwien.ac.at (Stephan Bublava) writes:
>1) Can I control the level of user interaction, when I send a message
>to a remote Hypercard stack? Can I determine whether interaction is
>allowed or not?

When you use the "send" command to send a HyperTalk script from HC
to another process (including another instance of HC), HyperCard
automatically sets the interaction level to "never interact".

When HyperCard receives an Apple event with the interaction level
set to "never interact", it sets the HyperTalk property "lockError-
Dialogs" to true.

You can set lockErrorDialogs as you like, either on the sending or
receiving end, to override HyperCard's built-in behavior.  On the
sending end, include a line of HyperTalk that sets lockErrorDialogs
with the script that you send.  On the receiving end, set the
lockErrorDialogs in an "on appleEvent" handler.

>2) When using "answer program ... of type ..." what type must I pass 
>to only display HyperCards in the list?


WILDep01.  Bizarre, yes, but that's how the Process Manager names
the PPC ports of newly launched high level event-aware applications.
The first four characters of this string are the signature of the
app.  The second four are always ep01.

Kevin Calhoun
jkc@apple.com
Newsgroups: comp.sys.mac.hypercard
From: jpugh@apple.com (Jon Pugh)
Subject: Re: Apple Event questions
Date: Tue, 17 Nov 1992 21:44:03 GMT
Organization: Apple Computer, Inc.
Followup-To: comp.sys.mac.hypercard

In article <1992Nov16.125944.3236@email.tuwien.ac.at>, Stephan Bublava
<stephan@iguwnext.tuwien.ac.at> wrote:
> 
> 1) Can I control the level of user interaction, when I send a message
> to a remote Hypercard stack? Can I determine whether interaction is
> allowed or not?

I don't know.  We'll have to see if Kevin has an answer.

> 2) When using "answer program ... of type ..." what type must I pass 
> to only display HyperCards in the list?

"WILDep01"

You can use any creator code in place of WILD but the ep01 is a mystic PPC
chant you must use for it to work.  That's a zero, but the way.

Jon
Newsgroups: comp.sys.mac.hypercard
From: bbooz@tjhsst.vak12ed.edu (William Booz (Bill))
Subject: Protecting a Text field
Organization: Virginia's Public Education Network (Fairfax)
Date: Fri, 20 Nov 92 00:05:30 GMT

I have a stack with a main text field containing information
from card to card.  I would like to keep the field locked so
it's contents aren't accidentally - or on purpose - changed,
but I also want browsers to be able to select blocks of text
they want within a given field, copy it and then paste the
selection into a collection "notepad" field I have on a Note
Pad card in the stack.

I have created this handler and it works:

    on idle
     if the optionKey is down then
      set the lockText of bg fld id 9 to false
     else
      set the lockText of bg fld id 9 to true
     end if
    end idle

I remember some discussion here some time ago that one should
avoid "on idle" handlers if possible.  I have tried "on
mouseStillDown" and some other variations but they don't work.

Question: what am I missing?  Is there a more elegant solution
to my problem?

Thanks in advance for any help.
-- 
            _______________    __o        Bill Booz, Fairfax, VA
        _________________     -\<,       bbooz@tjhsst.vak12ed.edu
                        ......O/ O            Biking Is Fun!!
From: jpugh@apple.com (Jon Pugh)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Word 5.1 & AppleEvents
Date: 21 Nov 92 05:49:44 GMT
Followup-To: comp.sys.mac.hypercard
Organization: Apple Computer, Inc.

In article <1992Nov18.171125.12285@waikato.ac.nz>, ldo@waikato.ac.nz
(Lawrence D'Oliveiro, Waikato University) wrote:
> 
> In article <jpugh-171192132944@wolverine.apple.com>, jpugh@apple.com (Jon Pugh) writes:
> > In article <shebs-171192100253@delos.apple.com>, shebs@apple.com (Stan
> > Shebs) wrote:
> >>
> [comments about the difficulty of supporting AppleEvents omitted]
> >
> > I agree with a lot of this, but in addition I would like to point out that
> > a lot of the design decisions were made for compatibility reasons.
> > AppleScript would like to be a full OOP language, but it has to be
> > implemented in non-OOP programs.
> 
> Why? AppleScript is a language in its own right, right? So how would you
> embed AppleScript code inside programs written in other languages? It seems
> to me the natural way would be to store AppleScript sequences (possibly in some
> "tokenized" or other such "pseudocompiled" form) in resources or suchlike.
> So why should that have any interaction with the language that the rest of the
> program is written in?

That's actually the case.  AppleScript compiled scripts are stored as
tokenized data.  You can save them to disk as resources or whatever. 
AppleScript itself is a dynamic OOP, but it has to work closely with other
applications.

The tough portion of AppleScript support is the AE handlers and object
resolvers.  For example, on the NeXT machine they sinply pass object
references around and you make method calls to that object.  You want to
use the dictionary, call a method of the dictionary object.  In our case we
can't assume that every program is an instantiation of an object.  Many of
the existing base of apps are procedurally programmed.  These are a lot of
the target apps that AppleScript needs to work with.  On its own,
AppleScript is pretty limited.  It has no UI.  It has no IO.  All it has
are hooks into apps (well, there are OSAX also, which are essentially AS
XCMDs, and they can have UI elements).  So, these app hooks need to be
procedural and I think that's where a lot of the difficulty arises.

Toss in the OSL and its myriad of handlers for object resolution (these
also map nicely onto the _idea_ of method calls, but without any real
inherited code) and you have a hodgepodge of complicated and interconnected
procedural APIs you have to code to in order to support AppleScript.  It
isn't pretty, but it isn't really that hard either.  It's just kind of
complicated and not well documented yet.

I'm not sure how to make it nicer, but as the code base increases there
will be a lot more examples and lessons to learn from.  Documentation will
improve.  Things will get easier to understand as we all get smarter.  ;)

Am I too optimistic, or too realistic?

Jon
Newsgroups: comp.sys.mac.hypercard
From: jpugh@apple.com (Jon Pugh)
Subject: Re: Word 5.1 & AppleEvents
Date: Tue, 17 Nov 1992 21:32:23 GMT
Organization: Apple Computer, Inc.
Followup-To: comp.sys.mac.hypercard

In article <shebs-171192100253@delos.apple.com>, shebs@apple.com (Stan
Shebs) wrote:
> 
> AppleEvents are like the bare X protocol.  You can write efficient code
> to drive a display on the other side of a network, but it would be very
> difficult.  To use the X protocol, you have Lisp and C libraries to do
> the most useful things in a function call style, and then you get a
> toolkit to encapsulate groups of calls into interface objects, and then
> you can use a scripting language like Tcl/Tk to build useful things.
> 
> Personally, I think the basic API and object model is fine, but it's
> very low-level and should be much less visible to normal application
> developers.  AppleScript will help a lot with understanding the
> high-level view of things - it can show you an English description of
> an event, for instance.  We could use more toolkit-type AE support,
> but I don't know what that should look like.
> 
> If it's any consolation, nobody else has this figured all this out
> either.  Competitors are systems like OLE and ORB, but they're also
> hard to use and not well-accepted yet.  Even the research world
> hasn't agreed on a scheme to link objects in multiple programs.

I agree with a lot of this, but in addition I would like to point out that
a lot of the design decisions were made for compatibility reasons. 
AppleScript would like to be a full OOP language, but it has to be
implemented in non-OOP programs. That makes it very tough to hide the
implementation details.  Getting AppleScript/Object Model support into
MacApp or Bedrock is more than just a good idea, it's an absolute MUST as
far as I am concerned.  Of course, I'm not in charge of anything so no one
really listens to me.  ;)

Jon
From: jkc@Apple.COM (John Kevin Calhoun)
Newsgroups: comp.sys.mac.hypercard
Subject: Re: Word 5.1 & AppleEvents
Date: 16 Nov 92 00:38:15 GMT
Organization: Apple Computer Inc., Cupertino, CA


In article <jpugh-131192215659@kip2-50.apple.com> jpugh@apple.com (Jon Pugh)
writes:
>A lot of current program implementations don't use these object specifiers
>(Hypercard doesn't) because it is a lot easier to use a custom parameter
>system when writing the code.

It wasn't a matter of ease of implementation.  HyperCard 2.1 doesn't
understand object specifiers because they hadn't yet been finally defined
when HyperCard 2.1 shipped, concurrently with System 7.0 in May of last
year.  It would be wonderful to have a version of HyperCard that fully
supports the Apple Event Object Model; I wish it had been possible back
then.

Kevin Calhoun
jkc@apple.com
Newsgroups: comp.sys.mac.hypercard
From: demerit@vms.macc.wisc.edu (J. DeMerit)
Subject: Re: Importing/accessing text files
Organization:  University of Wisconsin Academic Computing Center
Date: 18 NOV 92 14:54:54    

In article <1992Nov18.164034.15856@jhunix.hcf.jhu.edu>, crawford@jhunix.hcf.jhu.edu (James E Crawford) writes...

>I would like to thank everyone for their help in solving this problem. Your
>assistance has been invaluable....
> 
>But...
> 
>1) The read command only lets you import 16k at a time (according to
>the Complete HyperTalk Handbook).

I have done a lot of reading/importing from text files into HC but never 
needed chunks that large (usually read until comma...)

>2) There is no mechanism to search backward in a file. (ie. you can read
>until a certain character/word/whatever, but there is no way to tell HC to
>"read until Mercutio then go back 100 lines and import the next 200"
> 

This is true but you can put those 100 lines into a temp container (and as we 
all know by now no large than 30K) and when you read 'Mercutio' then put the 
contents of the temp container (100 lines) and then read and put the next 200 
lines.  So now you've essentially searched backward then forward.

Hope this helps,
Cathy
Newsgroups: comp.sys.mac.hypercard
From: skwong@cuse1.se.cuhk.hk (Wong Sai Kee (Graduate Assistant))
Subject: Re: Hypercard on Mac Classic II
Organization: Faculty of Engineering, The Chinese U. of Hong Kong
Date: Sun, 22 Nov 1992 04:04:59 GMT

I think it is the Apple's trading strategy.  She tends to attract the
users to purchase a set of HyperCard development tools.  But if you are
skillfull on HyperCard, you should already know how to solve your
problem by using HyperCard command & message.

Mr.Sai-Kee WONG
skwong@se.cuhk.hk