MacTech Network:   MacForge.net  |  Computer Memory  |  Register Domains  |  Printer Supplies  |  Cables  |  iPod Deals  |  Mac Deals  |  Mac Book Shelf


  MacTech Magazine

The journal of Macintosh technology

 
 
LUCY Gateway

Magazine In Print
  About MacTech  
  Home Page  
  Subscribe  
  Archives DVD  
  Submit News  
  Submit a Tip!  
  Get a copy of MacTech RISK FREE  
Google
Entire Web
mactech.com
Mac Community
More...
MacTech Central
  by Category  
  by Company  
  by Product  
MacTech News
  MacTech News  
  Previous News  
  MacTech RSS  
Article Archives
  Show Indices  
  by Volume  
  by Author  
  Source Code FTP  
Inside MacTech
  Writer's Kit  
  Editorial Staff  
  Editorial Calendar  
  Back Issues  
  Advertising  
Contact Us
  Customer Service  
  MacTech Store  
  Legal/Disclaimers  
  Webmaster Feedback  
ADVERTISEMENT
Click Here
Volume Number:8
Issue Number:1
Column Tag:Mousehole

Mousehole Report

By Larry Nedry, Mousehole BBS Sysop

From: Jmoreno

Re: Problem with PBControl

I’m having trouble sorting out how PBControl works. I’m trying to use it to get the icon which is associated with a particular drive. I want to show the correct icon for HD’s and CD-ROM’s as well as the icon for floppies. Any help or hint will be appreciated.

From: Mrteague

Re: Problem with PBControl

What problems are you having with PBControl? I wrote a quick & dirty program the other day (and it worked first time - amazing <grin>) to do the exact thing you are trying to do (and more). Basically I refer you to TechNote #272. But you need to do a PBControl call with csCode = 21 (for the physical drive icon, or csCode = 22 for the physical media icon), and the pointer to the icon (note : ICON, not ICN# or anything else) will be returned in the csParam parameter (remember, some development systems have csParam as an array of integers, so you need to coerce the first 4 bytes of csParam into a Ptr - I think I used BlockMove). Also note that the icon comes from the driver SOFTWARE (whether it be in ROM or RAM or disk), and not all drivers support the call (you will probably get an error). Specifically, the Mac Plus will not return you an icon. Hope this helps.

From: Jmoreno

Re: Problem with PBControl

My problem is that can’t get the PBControl to work at all for my HD’s or CD-ROM drive. I get a error message which varies depending on how I fool around with the parameters. When I have the params set the way I think they are supposed to be I get a -56 error.

And yeah I know that THINK Pascal at least considers it a array of integers. I get around the by using this: handle (@myControlPBH.csparam)^)^ this gives a pointer w/o having to do a BlockMove. Could you post a sample call to PBControl that works for your HD?

From: Mrteague

FILE: Problem with PBControl

That advice I gave you was for floppy drives, and I wrote it in MPW C. Attached to this msg is an example of what you want, in MPW Pascal. I cut it out of a program I wrote a long time ago, but I believe it worked then.

From: Deep

Re: Graf3D

I have forgotten where Graf3D is documented. Does anyone else know? I realize that Graf3D is not a very fast way for 3D stuff, but I may want to “fool ‘round” with it. Thanks!

From: Johnbaro

Re: Graf3D

Graf3D is not officially documented or supported by Apple. After much searching I did manage to find 3 sources of info. (1) a 1988 MacTutor article (I don’t know the issue offhand), (2) since I was programming in Think Pascal, I tried the Symantec BBS (408-973-9598).

They have some sample code showing how to use the Graf3D routines. I also spoke to someone in their Tech support dept. who sent me a Tech Note they put out that documents Graf3D pretty thoroughly. (3) Through an Apple rep I was also able to obtain a document sent to developers several years ago that briefly describes Graf3D routines. Any one of these documents provides about the same info, so if you get a hold of one don’t waste time trying to track down the others. Hope this helps get you started. I’ve found that if your 3D plotting needs are fairly modest (line drawings only, speed is not crucial) Graf3D can be pretty handy.

From: HenryT

To: ** ALL **

Re: Souped up Quadra 900

A friend of mine modified his Quadra 900 by replacing the 50 mhz crystal with a 66 mhz crystal. And it seems to work just fine. This makes it a 33 mhz Quadra 900 (the 66 mhz is divided by two). He says it speeds up MPW compiles by another 20-30 percent. Has anyone else tryed this?

From: **Unknown**

Re: Empty Resource Creation

I have tried to create an empty resource in a small routine. I would like to do is open an empty resource from a program. Everytime I try to do this, it seems as though the handle is deallocated by some means. I have HLock’ed and HNoPurge’ed the handle so...The question is why won’t this piece of code work..any help is appreciated.

place = PtrToHand((Ptr)0,rsrc,1);
AddResource(rsrc,’MyRs’,9,”\p”);
theError = ResError();
if (theError == noErr)
WriteResource(rsrc);

From: Sysop

Re: Empty Resource Creation

You state that all you want to do is open an empty resource from a program. You also state that you can’t create an empty resource. You could use ResEdit to create one. Or you could do this:

rsrc = NewHandle(0L);
AddResource(rsrc, ‘MyRs’, 9, “\p”);
theError = ResError();
if(theError == noErr)
 WriteResource(rsrc);

To read the resource you can use GetResource or Get1Resource which will return a handle to the resource.

The reason you weren’t able to create an empty resource with PtrToHand is that you where setting the size to 1 (one).

Instead of:

place = PtrToHand((Ptr)0,rsrc,1);

Try:

place = PtrToHand((Ptr)0,rsrc,0);

But I think NewHandle(0) is a better way to go. You should not reference low memory like that.

From: Ebishop

Re: MenuBar in a window?

I’ve been working for some time on putting a menu bar inside a window. To some extent I’ve been successful. But I can’t help but wonder if there isn’t a more direct &/or elegant method of accomplishing it. I’ve had to write my own menu manager to get as far as I have.

I’m using Think C 4.05 (or above). I need to have 5 levels of hierarchical menus. I need to be able to place the bar into dialogs, document windows, or HyperCard xWindows.

I KNOW PEOPLE ARE DOING IT! I see it in desk accessories. I see it in SuperBoomerang (super program!). Is it top secret, esoteric knowledge? I would PAY for definitive information ( C source code ). Can it be had. I would think it would be a very popular technique.

PS: I’m ahead of Jim Matthews article in MacTutor Nov. ‘88. I find it hard to accept that it must be done like that.

[See the article on window menu bars in the Oct. ‘91 issue. It includes color, hierarchical menus, etc. - Ed.]



Click here to find out more about our best subscription bundle deal ever!
2 years of the magazine, and the all new MacTech DVD ... at 70% off!



Click on the cover to
see this month's issue!

TRIAL SUBSCRIPTION
Get a RISK-FREE subscription to the only technical Mac magazine!
 
 


MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797

Register Low Cost (ok dirt cheap!) Domain Names in the MacTech Domain Store. As low as $1.99!
Save on brand compatible and name brank ink jet and laser supplies.
Save on long distance * Upgrade your Computer
Movies with No Late Fees!

See local info about Westlake Village
SJ * BRJ * BJ * OJ * NITS
Staff Site Links



All contents are Copyright 1984-2007 by Xplain Corporation. All rights reserved.

MacTech is a registered trademark of Xplain Corporation. Xplain, Video Depot, Movie Depot, Palm OS Depot, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, NetProLive, JavaTech, WebTech, BeTech, LinuxTech, Apple Expo, MacTech Central and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.