[comp.sys.mac.hypercard] Problem with HC 2.0 and Netnews reader 1.2.1

pera@infolog.se (Per Andersson) (10/02/90)

I have a problem using Netnews reader 1.2.1 together with HC 2.0.
The problem is that the XCMD's in the Netnews stack must be recompiled with
the new HyperXCmd glue. Can anyone mail me a recompiled version of the XCMD's
or the source code for the TCP* XCMD's.

Send respones to:

pera@infolog.se

Thanks
Per

--
-------------------------------------------------------------------------------
Per Andersson

Infologics AB					Phone int 	+46-8-922031
P.O.BOX 91		Vistiting address	Internet	pera@infolog.se
S-191 22 Sollentuna	Aniaraplatsen 6		
Sweden				
-------------------------------------------------------------------------------

kevin@cmi.com (Kevin Hegg) (10/02/90)

Just to let you know, I am running Netnews reader 1.2.1 with Hypercard 2.0 
and have no problems.  Thats not to say there isn't any though.  

Kevin Hegg, EDS Corp - Center for Machine Intelligence
2001 Commonwealth Blvd., Ann Arbor, Michigan 48105
Phone:   (313) 995-0900  Internet: kevin@cmi.com    Applelink: D5990

gandalf@apple.com (Martin Gannholm) (10/06/90)

In article <228@infolog.se> pera@infolog.se (Per Andersson) writes:
> I have a problem using Netnews reader 1.2.1 together with HC 2.0.
> The problem is that the XCMD's in the Netnews stack must be recompiled 
with
> the new HyperXCmd glue.

Using a well-behaved XCMD with 2.0 should require _no_ recompilation or 
other change. I've been using the NetNews reader stack with HyperCard 2.0 
since April or May, and haven't had any problems at all since June (after 
fixing the bugs with it in the early 2.0 betas). There are 2 or 3 script 
typos in the NNR stack 1.2.1 which HC 2.0 complains about at compile-time 
but the interpreter in HC 1.x never encountered them (they were in 
conditional if-then statements). I run the NetNews reader stack in just 
1000K of multifinder memory and never have any problems -- this I think is 
because of the optimizations we did to the memory usage when doing stuff 
with containers (put after, delete word xx...).

The NetNews reader stack was actually a great test of the new HyperTalk, 
since it uncovered *many* ugly, horrible, deadly bugs. Thanks to Harry 
Chesley for writing a stack that exercised a good mix of HyperTalk!

There is one small problem with the NNR stack, and that is that one of the 
XCMDs allocates a pointer in the heap, effectively inhibiting HyperCards 
buffers to grow. This means that you can't go to a bigger stack after 
you've read NetNews (without quitting and restarting). It the NNR stack 
deallocated its memory on closeStack it wouldn't be such a big problem.

So, to all you XCMD-writers out there: if you need to have something 
locked down, allocate a handle, MoveHHi then HLock. Also, if you only have 
the handle locked when it really needs to be, your XCMD won't interfere 
with HyperCard's memory management. An example of a gracious XCMD is the 
one in the HyperScan stack. It allocates a 175K buffer and  writes it to a 
temp file, but leaves the handle purgeable. Then if HC needs the memory 
the handle will get purged and HyperScan can reload the handle -- this 
only takes 18 ticks on a Mac II with a hard disk.

Martin Gannholm
HyperCard 2.0 Engineer
Apple Computer

Exclaimer!!!   I typed this myself = I speak for myself...

chesley@goofy.apple.com (Harry Chesley) (10/06/90)

In article <228@infolog.se> pera@infolog.se (Per Andersson) writes:
> I have a problem using Netnews reader 1.2.1 together with HC 2.0.
> The problem is that the XCMD's in the Netnews stack must be recompiled with
> the new HyperXCmd glue. Can anyone mail me a recompiled version of the 
XCMD's
> or the source code for the TCP* XCMD's.

You do not have to recompile XCMDs for use with 2.0.

The MacTCP XCMDs do need some minor modifications to allow you to open 
larger windows in HC 2.0 after using them. Those revisions will be along 
eventually, but in the meantime, you can still use netnews reader 1.2.1. 
If you're going to open larger windows later on, you'll need to quit 
HyperCard and restart (sorry 'bout that).