TweetFollow Us on Twitter

Jun 96 Top 10
Volume Number:12
Issue Number:6
Column Tag:Symantec Top 10

Symantec Top 10

By Michael Hopkins and Noah Liebermann

Note: Source code files accompanying article are located on MacTech CD-ROM or source code disks.

Q: When I compile the Animator Sample Applet using Symantec Caffeine, I get the error, “The last command could not be completed because the apple event was not handled.” Why is this occurring?

A: You need to be sure that you have the Javac.PPC application running before you compile. For further information, read the Your First Applet.pdf Acrobat file.

Q: When I have compiled my Java project, why can’t I choose Run from the Project menu?

A: Symantec Caffeine does not currently support building stand-alone applications. You can currently build only applets, which must be viewed as part of an HTML file. You can use any Java-enabled browser to view them, or use AppletView.PPC, which is included in the MacJDK folder. Once your applet is compiled, you can choose Run Applet (example1.html) from the Scripts menu, or use the shortcut Apple-control-R to run the applet with AppletView.PPC.

Q: The installation instructions for Symantec Caffeine say I need something called “8.0.4d11” to use the Java compiler. What file is this referring to?

A: This file is the version of the Project Manager required by Caffeine. You can find it in the pre-release folder on the Symantec C++ release 4 CD. The Project Manager on the Release 5 CD is already set up to use Java, so no additional configuration should be necessary.

Q: I cannot compile the GraphicsTest demo in the Sample Applets folder. How do I get this sample to compile?

A: Files that are mutually dependent and do not include package specifications will not compile properly, because the environment passes these .java files to the Java compiler independently. The work-around is to manually drag all of the files from the Finder onto the Javac compiler to generate the .class file. See the READ ME!-Known Issues file for information on this and other problems.

Q: I am compiling a Java project, but I cannot figure out where the resulting .class file is being saved. Am I doing something wrong?

A: No. When you build a Java project, the .java source files are compiled by the Javac compiler and the resulting applet is placed in Javac.PPC’s target folder. The default folder is classes. With this setting, all resulting .class applet files are placed in the JDK Classes folder, which is called Caffeine:MacJDK1.0b1:Classes. Alternatively, you can specify the paths for classes and the target by launching Javac.PPC and choosing Properties from the File menu. Note that the classes path should be the location of the sun and java folders containing the JDK library classes.

Q: I am trying to use the cursor routines documented in Inside Macintosh: Imaging with QuickDraw. I have added CursorCtl.h, but I still get a link error. Can I use this routine with Symantec C++ 8.0?

A: Yes. This routine is supported by our PPC product. To use these calls, add PPCToolLibs.o and StdCLib to your project.

Q: Is there a way to get the frame of a window? I tried looking at the portRect, but that is the interior of a window. Can I get the rectangle that includes the title bar and any other window parts outside of the portRect?

A: Yes. There is a struct element called the rgnBBox that can be accessed by type-casting the WindowPtr to a WindowPeek. The following example demonstrates how to access this data:

 WindowPtrmyWindow;// must point to valid window
 RgnHandlewindowRgnHandl; // local copy of handle
 Rect   totalWindRect;    // receives total area of window

    // set up the handle to the structRgn
 windowRgnHandle =
 (Handle)(((WindowPeek)theWindow)->structRgn);
    // lock the handle since we are ready to access it
 HLock(windowRgnHandle);
    // get the rectangle for the entire window
 totalWindRect = (**(RgnHandle)windowRgnHandle).rgnBBox;
    // unlock the handle, we are done with it
 HUnlock( windowRgnHandle );

Q: I am using the Think Class Library and Visual Architect to create a dialog box. When I run the generated application, I notice that the tab order for the CDialogText items is not correct. Is there any way to change the tab order without re-creating my dialog box?

A: Yes. Tab order is determined by the item numbers of the text boxes. For example, if you have three text items numbered 2, 7, and 3, pressing Tab in the first edit box (number 2) will cause the cursor to jump to the last edit box (number 3). To display the item numbers, choose Show Item Numbers from the Views menu. You can change the tab order of CDialogText items in Visual Architect by selecting each item individually and choosing Send To Back and Bring To Front from the Pane menu. Bring To Front will increase the item number and Send To Back decreases the item number.

Q: When I click in the go-away (close) box in my VA-generated CWindow, I do not receive a cmdClose message like I do when I use the Menu option Close or hit Apple-W. Why does the close box not generate a cmdClose that I can trap, and how can I override this mysterious TCL shortcut?

A: The window’s close box circumvents the cmdClose command path that is normally issued after the Close menu option is chosen. The close box issues a CWindow::UserClose() command, which calls CWindow::Close(), which finally calls CDirector::Close(), at which point your close click disappears into the forbidding domain of CDirector, having completely circumvented the command structure of the TCL.

Overriding this is fairly straightforward. In the Visual Architect, create a new class in the Classes dialog window. Call it what you like; TmyWindow would be a good choice. Select CWindow from the Base Class popup menu, and close the Classes dialogue window. From the main VA window, open your window, or create one if you do not already have one. Select View Info from the View menu. Now select your newly created derived class from the Window Class pop-up menu.

Once you generate your source code, you need to add a prototype in your header file and then go into the source file for your derived class and add the following:

void    TmyWindow::Close()
{
    // Add your own supplementary Close handling routines here

    inherited::Close(); // Call the inherited method 
    // to finally close the window
}

Now when the close box is clicked, your Close method will get called, wherein you can add whatever housekeeping functionality you like.

Q: I am using TCL and the Visual Architect to write my application. I have created a modal dialog box with a button that sends a cmdQuit. When I run the generated application, clicking the button seems to do nothing. In fact, I seem to go into some kind of infinite loop and I have to force my application to quit. What is going on?

A: First of all, it is considered bad form to quit an application by clicking a button. That behavior is reserved for the Quit item in the File menu. If, for some reason, you really want this behavior, you will need to do the following.

Go into your upper level source for that dialog, and add the following class definition:

class myChore: public CChore
{
 public:
 myChore(){}
 virtual void Perform( long *maxSleep )
 {gApplication->Quit();}
};

 Now, modify the DoCommand function:

myDialog::DoCommand( long theCommand )
{
 myChore *theChore = new myChore();

 switch ( theCommand )
 {
 case cmdQuit:
 Close( true );  
 gApplication->AssignIdleChore( theChore );
 break;
 default:
 x_myDialog::DoCommand( theCommand );
 }
}

By setting up an idle chore, we ensure that the dialog has a chance to close before the application quits.

Special thanks to: Mark Baldwin, Levi Brown, Andrew McFarland, and Scott Morison.

 
AAPL
$103.22
Apple Inc.
+0.72
MSFT
$44.88
Microsoft Corpora
-0.55
GOOG
$574.15
Google Inc.
+2.55

MacTech Search:
Community Search:

Software Updates via MacUpdate

NetShade 6.0.2 - Browse privately using...
NetShade is an Internet security tool that conceals your IP address on the web. NetShade routes your Web connection through either a public anonymous proxy server, or one of NetShade's own dedicated... Read more
Mac DVDRipper Pro 5.0 - Copy, backup, an...
Mac DVDRipper Pro is the DVD backup solution that lets you protect your DVDs from scratches, save your batteries by reading your movies from your hard disk, manage your collection with just a few... Read more
pwSafe 3.1 - Secure password management...
pwSafe provides simple and secure password management across devices and computers. pwSafe uses iCloud to keep your password databases backed-up and synced between Macs and iOS devices. It is... Read more
StatsBar 1.8 - Monitor system processes...
StatsBar gives you a comprehensive and detailed analysis of the following areas of your Mac: CPU usage Memory usage Disk usage Network and bandwidth usage Battery power and health (MacBooks only)... Read more
Path Finder 6.5.5 - Powerful, award-winn...
Path Finder is a file browser that combines the familiar Finder interface with the powerful utilities and innovative features. Just a small selection of the Path Finder 6 feature set: Dual pane... Read more
QuarkXPress 10.2.1 - Desktop publishing...
With QuarkXPress, you can communicate in all the ways you need to -- and always look professional -- in print and digital media, all in a single tool. Features include: Easy to Use -- QuarkXPress is... Read more
Skype 6.19.0.450 - Voice-over-internet p...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
VueScan 9.4.41 - Scanner software with a...
VueScan is a scanning program that works with most high-quality flatbed and film scanners to produce scans that have excellent color fidelity and color balance. VueScan is easy to use, and has... Read more
Cloud 3.0.0 - File sharing from your men...
Cloud is simple file sharing for the Mac. Drag a file from your Mac to the CloudApp icon in the menubar and we take care of the rest. A link to the file will automatically be copied to your clipboard... Read more
LibreOffice 4.3.1.2 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more

Latest Forum Discussions

See All

Function Space, a Social Network App for...
Function Space, a Social Network App for Science, Launches on iOS Posted by Ellis Spice on September 2nd, 2014 [ permalink ] | Read more »
Treasure Tombs: Ra Deal Coming from Bulk...
Treasure Tombs: Ra Deal Coming from Bulkypix and Dark Tonic This Fall Posted by Jessica Fisher on September 2nd, 2014 [ permalink ] Dark Tonic and | Read more »
Tiny Tower Vegas Review
Tiny Tower Vegas Review By Jennifer Allen on September 2nd, 2014 Our Rating: :: STEADY DEVELOPMENTUniversal App - Designed for iPhone and iPad Build a huge tower again but Vegas-style in Tiny Tower Vegas.   | Read more »
The Manhattan Project Review
The Manhattan Project Review By Andrew Fisher on September 2nd, 2014 Our Rating: :: ROCKET SCIENCEUniversal App - Designed for iPhone and iPad The Manhattan Project offers a great Euro-style gameplay experience, but it is totally... | Read more »
Rhonna Designs Magic (Photography)
Rhonna Designs Magic 1.0 Device: iOS Universal Category: Photography Price: $1.99, Version: 1.0 (iTunes) Description: Want to sprinkle *magic* on your photos? With RD Magic, you can add colors, filters, light leaks, bokeh, edges,... | Read more »
This Week at 148Apps: August 25-29, 2014
Shiny Happy App Reviews   | Read more »
Qube Kingdom – Tips, Tricks, Strategies,...
Qube Kingdom is a tower defense game from DeNA. You rally your troops – magicians, archers, knights, barbarians, and others – and fight against an evil menace looking to dominate your kingdom of tiny squares. Planning a war isn’t easy, so here are a... | Read more »
Qube Kingdom Review
Qube Kingdom Review By Nadia Oxford on August 29th, 2014 Our Rating: :: KIND OF A SQUARE KINGDOMUniversal App - Designed for iPhone and iPad Qube Kingdom has cute visuals, but it’s a pretty basic tower defense game at heart.   | Read more »
Fire in the Hole Review
Fire in the Hole Review By Rob Thomas on August 29th, 2014 Our Rating: :: WALK THE PLANKUniversal App - Designed for iPhone and iPad Seafoam’s Fire in the Hole looks like a bright, 8-bit throwback, but there’s not enough booty to... | Read more »
Alien Creeps TD is Now Available Worldwi...
Alien Creeps TD is Now Available Worldwide Posted by Ellis Spice on August 29th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »

Price Scanner via MacPrices.net

Apple refurbished iPads available for up to $...
Apple is offering Certified Refurbished iPad Airs for up to $140 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free. Stock tends to come and go with some of these... Read more
Are We Now In The Post-Post-PC Era?
A longtime and thoroughgoing laptop aficionado, I was more than a little dismayed by Steve Jobs’s declaration back in 2010 when he sprang the iPad on an unsuspecting world. that we’d entered a “post-... Read more
PC Outlook Improves, But 2014 Shipments Still...
According to the International Data Corporation (IDC) Worldwide Quarterly PC Tracker, worldwide PC shipments are expected to fall by -3.7 percent in 2014. To hat’s actually an improvement from the... Read more
IDC Lowers Tablet Sales Projections for 2014...
Following a second consecutive quarter of softer than expected demand, International Data Corporation (IDC) has lowered its worldwide tablet plus 2-in-1 forecast for 2014 to 233.1 million units. The... Read more
Apple now offering refurbished 21-inch 1.4GHz...
The Apple Store is now offering Apple Certified Refurbished 21″ 1.4GHz iMacs for $929 including free shipping plus Apple’s standard one-year warranty. Their price is $170 off the cost of new models,... Read more
Save $50 on the 2.5GHz Mac mini, on sale for...
B&H Photo has the 2.5GHz Mac mini on sale for $549.99 including free shipping. That’s $50 off MSRP, and B&H will also include a free copy of Parallels Desktop software. NY sales tax only. Read more
Save up to $300 on an iMac with Apple refurbi...
The Apple Store has Apple Certified Refurbished iMacs available for up to $300 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. These are the best prices on... Read more
The Rise of Phablets
Carlisle & Gallagher Consulting Group, a businesses and technology consulting firm focused solely on the financial services industry, has released an infographic depicting the convergence of... Read more
Bad Driver Database App Allows Good Drivers t...
Bad Driver Database 1.4 by Facile Group is a new iOS and Android app that lets users instantly input and see how many times a careless, reckless or just plain stupid driver has been added to the... Read more
Eddy – Cloud Music Player for iPhone/iPad Fre...
Ukraine based CapableBits announces the release of Eddy, its tiny, but smart and powerful cloud music player for iPhone and iPad that allows users to stream or download music directly from cloud... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.