Mar 89 Mousehole
Volume Number: | | 5
|
Issue Number: | | 3
|
Column Tag: | | Mousehole report
|
Mousehole Report
By Rusty Hodge & Larry Nedry, Mousehole BBS
From: rusty (Mr. Rusty Hodge, Orange, CA)
Subject: Symantec's Upgrade Policies
In Symantecs favor- I received my More II upgrade a mere couple of weeks after sending it in. (about 18 days, I think).
From: jefff (Jeff Finkelstein, Willingboro, NJ)
Subject: MPW 3 vs LS C & Pascal
I am interested in upgrading both my LS Pascal and C to the latest revisions. I was using MPW, but the cost of V3 puts it out of my league (boy am I P.O.d; I got so mad that I deleted anything related to MPW off my disks). Anyway, when I called the THINK Customer Service #; they said that all I had to do was to cough up the bucks for the upgrade, include 1 disk from each product I wanted to upgrade, and they would send me the new version. Is this real or a fantasy? Where is a lowly programmer to turn?
From: jhowarth (Jack W. Howarth, Houston, TX)
Yes, that is probably all you need to do. Actually, my own experience with THINK since they were bought out by Symantec is that a good cover letter and all the required materials (masters and receipts) gets you far better service than using their normal upgrade form. I sent a cover letter in for the free LSC 3.0 upgrade in June (I bought a new copy of 2.15 at that time) and received 3.0 by early August. I just got a letter last week asking if I wanted to upgrade my 2.15 to 3.0. God, knows how long I would have waited if I had just sent in my registration by itself. As to MPW 3.0, I understand that it requires 4 megs for the SADE debugger to work so that is a fairly expensive route anyway.
From: rdclark (Richard Clark, Tustin, CA)
Subject: MPW SADE
Is the SADE team at Apple known as The SADE-ists??
From: pmilitch (Peter Militch, Laurel , MD)
Subject: RESEDIT
I was experimenting with RESEDIT and using it to look at some applications. I found that it will not open the CODE 1 resource in WORD or MACPROJECT 2. On other applications, no problem. I do not get a cannot do message or any indication of why it doesnt work - it just doesnt. Any theories on why this might happen.
From: emmayche (Mark Hartman, Fullerton, CA)
ResEdit wont open resources that are larger than a certain value. What that value is, I dont know, but its very obstinate about it. [The CODE 1 resource in Word is probably the heart of the program itself, some 300K or more? Why would you want to open this anyway? ResEdit is not a disassembler. -Ed]
From: jhowarth (Jack W. Howarth, Houston, TX)
Subject: LSP 2.0
I found that under MultiFinder the LSP 2.0 works better if you change the application size in the GetInfo box to 2048K. One meg works okay on compiles, but when you get knee deep in debugging with a few files open and program code in memory, the whole thing locks up if it runs out of memory. I saw that on a couple occasions when I tried to load a file where the debugger had run into a run-time error. As soon as I increased the appl size for LSP, the problem disappeared.
I guess that means quite a few of the bugs that THINK gets reported may actually be memory management problems of the environment.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: LSP 2.0
More like: they have no concept of memory management. Used to be, in v1.11, that if you opened a DA text editor (your ONLY alternative, if you wanted to edit RMaker/Rez files!!! think about it!), LSP would complain about a memory blockage and refuse to run your project. Now, in 2.0, it doesnt complain anymore. It just bombs. [This is not true. We have tested LS 2.0 Pascal with several DA text Editors, edited RMaker text files right along with project development, compiled and ran the program and have had no problems whatsoever. The ability to set the bundle bit and applecation creator tag in LS Pascal is a great new feature of this version, and it was all done under Multifinder with a active color monitor on a Mac II! -Ed]
From: jefff (Jeff Finkelstein, Willingboro, NJ)
Subject: MPW Upgrade Costs vs LS Products
I am planning on starting to convert my code over to Lightspeed from MPW. I just cant believe that Apple wants us to drop another couple of hundred into MPW just to upgrade to the next release. As far as I can tell, almost everyone else does that for free, when you bought the most recent version.
Oh well, enough whining. Ill just fork out the bucks for the THINK stuff and continue on. Thanks again.
From: cmkrnl (Eric Slosser, Boston, MA)
Subject: LSPascal / LSC
Although LSPascal has the ability to include LSC libraries in its projects, LSPascal doesnt initialize the global data declared in the C code. This makes C code that uses initialized global data more difficult to turn into a library that will be usable from LSPascal. The work-around is to write an additional C procedure which initializes the C global variables, declare it as pascal void INIT_GLOBALS(), and call it once before calling any other C procedures.
The kicker is this: C implements string constants as preinitialized global variables while Pascal implements them as local data stored in the CODE resource after the procedure/function code. The following statements in a librarys source code will all work if the library is included in a LSC project but will fail if the library is included in a LSPascal project.
DebugStr(Here we are!);
s = READ; /* s is declared as (char *) */
fopen( fName, r); /* fName is also (char *) */
In all of the above cases, the program wont get the string you see in the source code. Until LSC generates code that treats string constants as local variables, or LSP initializes variables declared by LSC libraries, it will be extremely difficult to use C code in an LSPascal project.
From: thotpolc (Bill Evans, Irvine, CA)
Subject: More Problem Fixed?
Rusty, does MORE II have the same arithmetic bug as MORE 1.0 and 1.1 did? In a MORE document, find a header which has several children. Put a decimal number in each of them, and make sure that each child contains only one numerical quantity. Make sure that exactly one of these quantities is less than zero but greater than -1. -.53, for example, will do just fine.
Then move to the parent of these children. Type Command =, which should add up the quantities in all of the children and place the result in the parent.
Did the arithmetic work out right? In older versions of MORE, the -0.53 is interpreted as 0.53.
When I pointed this out, I was thanked and promised a new, corrected MORE when it came out. Never got it, of course. Im inclined just to disassemble the monster and fix the bug. Better the devil you know than the devil you dont know.
This bug can get awfully embarrassing at tax time.
From: rusty (Mr. Rusty Hodge, Orange, CA)
Subject: Re: More Problem Fixed
That one has been fixed. However, the whole calculate thing has been totally done, and doesnt even resemble the old calculate function. In fact, I believe the new More is as different from the old as More was from Think Tank.
From: kdc (Kevin Connery, Bellflower, CA)
Subject: General LSC/Symantec Comments
I recently called them with a request for information on LSC -- our company is planning on doing some Mac development, and weve been using C on the VAX/MS-DOS machines, so I tried to get some information.
Two weeks later I called again, and was told there was no record of the request --Did I have the name of the person I spoke with?. I got through to a salesperson, who offered to send information. A few days later, I got a SINGLE 8.5 x 11 page describing the compiler.
If thats the support a customer can expect, I cant in honesty recommend the product, no matter how good. Consulair and MPW at least supplied useful information.
Or is there someone specific who needs to be contacted?
From: rdclark (Richard Clark, Tustin, CA)
Subject: Re: General LSC/Symantec Comments
Did you call Symantec in CA, or Think in MA?? Youll get better service if you call Think -- at least THEY care about the product.
Youre better off just finding a local programmer who can show you the various products instead of trying to ask the company. If is was a smaller company, youd probably talk to the owner/programmer and he would tell you all -- just for the love of talking about his product (and he wouldnt get in trouble.)
As a company gets larger, the technical staff is pretty much required to do their jobs and cant afford to really talk to people. Disclaimer: Actually, I feel that its in their benefit to talk to/listen to customers as much as possible, and that making and selling a successful product is everybodys job. But I seem to be in the minority in todays business community.
From: rusty (Mr. Rusty Hodge, Orange, CA)
Subject: Re: to #267 (LightSpeed C)
Most companies seem to be buying lots of Lightspeed Cs and a few MPWs. All preliminary development is done in LSC, and the final product us compiled in MPW.
From: mattjo (Matthew J. Orland, L A, CA)
Subject: Re: Symantec Upgrade & MacApp
I just got my upgrade to LS Pascal. Only now do they tell me that it is not MacApp compatible. When I called them over the phone originally to order the product they said that it is MacApp compatible when it is not compatible at all. I still have not got my LSC 3.0 upgrade -- after mailing the cancelled check to them by certified mail. They finally agreed that they made a mistake. Now every time I call they say that the order was shipped yesterday. This has been for the past 2 weeks. I should have used my credit card on this order too, so I could cancel it.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: INIT/cdev communication
Im having a problem with tracking a scroll bar in my cdevs DITL. The Control Panel, attempting to be helpful, calls TrackControl() BEFORE sending a hitDev message, so any attempt to use the no parameters, so naturally, a click in the thumb will kill the cdev instantly). I suspect the solution requires trickery (perhaps changing the itemType of its dialog item?). Has anyone else run into this?
From: lsr (Larry Rosenstein, Cupertino, CA)
Subject: Re: INIT/cdev communication
You may need to write a custom CDEF to replace the standard scroll bar CDEF. This CDEF can simply call the original CDEF for everything except the autoTrack message. It is whether you are dealing with a indicator or not.
From: thecloud (Ken Mcleod, La Habra, CA)
Subject: Re: INIT/cdev communication
Writing a custom CDEF within my code might work; it does seem like a lot of unnecessary coding, though :-( hierDA is an example of a cdev that includes a fully functional scroll bar in its DITL... the standard scroll bar proc is specified in the resource file, but perhaps he does some runtime twiddling... hard to say. Ill experiment. I enter a loop which seizes event-handling control away from the Control Panel. Each time through the loop, I check EventAvail() to see if theres an event (other than a null event) needing to be handled; if theres a mouseDown, and its in the scroll bars itemrect, I call my DoScroll() function to handle it. All other events (including mouseDowns NOT in the scroll bar rect) cause the loop to be exited, returning control back to the Control Panel...and then back to me, on the next null event.