Jul 95 Top 10
Volume Number: 11
Issue Number: 7
Column Tag: Symantec Top 10
Symantec Top 10
This monthly column, written by Symantec’s Technical Support
Engineers, aims to provide you with technical information based on the
use of Symantec products.
By Kevin Quah and Scott Morison, Symantec Technical Support
Note: Source code files accompanying article are located on MacTech CD-ROM or
source code disks.
Q: I have a 68K Macintosh and want to create Native or Fat applications. How can I do
this with Symantec C++ 8.0?
A: In the Pre-release folder on your Symantec C++ CD there is a Fat version of the
Symantec Project Manager. It is located in the Symantec C++ 8.0:Pre-release folder
in the form of a self extracting archive (.sea) file. You can use this to compile and link
PPC native code on either a PowerMac or 68K Macintosh.
Q: I keep getting a “bomb” dialog box with an ID=15 error when I run my program.
How can I fix this?
A: An ID 15 error is a Segment Loader error. Either your program has corrupted the
heap or you have not allocated enough memory for your program to run. Go to the Set
Project Type dialog box under the Project menu and make sure that your application
has been given enough memory to run.
Q: I want to rebuild my project by using the AppleScripts Save project as text and
Create project from text. I am having problems running these scripts because my
project file generates a file larger than 32K. Additionally, the scripts are not saving
my project options and compiler settings. Is there a new version of the scripts that
overcome these limitations?
A: Yes. We have written new versions of these scripts which avoid using the Scriptable
Text Editor to create the text files. The new scripts also save off the options for all the
current tools and restore them. You can download the new scripts from
devtools.symantec.com (or 155.64.182.73).
Q: I want to check a source or a header file but I do not know where it is located. How
can I find the file quickly?
A: You can switch to the Finder and choose Find from the File menu, but here is
another way to open a file: With your project file open, create a new untitled document
by choosing New from the file menu, then type the name of the file and extension (e.g.
CDirector.cp) into the window. Select the filename and choose Open Selection from
the File menu or type Command-D. The file will automatically open.
Q: I’m having problems with the Symantec Project Manager keeping up with my
typing. It stops accepting keystrokes every few seconds or so. Is there any way to get
rid of these interruptions?
A: Yes. Choose Check Dependencies from the Build menu. Make sure that you uncheck
the Quick Scan button. This will force the Project Manager to check all the
dependencies immediately instead of running it as a background task that may
interrupt your foreground tasks.
Q: I’m trying to read in extended numbers on a PowerMac, but the numbers do not hold
the correct values. What is the problem?
A: There is a problem in Apple’s Universal Headers. In Types.h, the definition for
extended is incorrect for PPC compilers. Find the section of code in the header that
looks like the following:
#ifdef THINK_C
typedef struct { short man[4]; } comp;
typedef struct { short exp[1], man[4]; } extended80;
typedef struct { short exp[2], man[4]; } extended96;
typedef extended80 __extended; // <-- this line is magic
typedef __extended extended;
#elif defined(applec) || defined(__SC__)
#ifdef mc68881
#if defined(powerc) || defined (__powerc)
#pragma options align=mac68k
#endif
struct extended80 {
short w[5];
};
Find the line that reads “#ifdef mc68881” and change it to “#ifndef mc68881”.
Q: How do I make a colored background for a window in a VA application?
A: We have written two new classes for handling background colorization:
CColorBackground and CColorBorder. These classes are designed to enable
colorization of window and dialog backgrounds and to provide 3D-like borders. You can
download these files from our ftp server: devtools.symantec.com
(155.64.182.73).
Q: I am using Symantec C++ 8.0, and when I run with the debugger, the debugger data
window says “not enough memory” and the stack crawl window does not work. How do I
fix this?
A: The out of memory error may indicate that the SPM is out of memory, just as in the
68K debugger. It may also indicate that the project was compiled without the Enable
Symbolic Debugging option turned on for the current compiler. Make sure Enable
Symbolic Debugging is checked in the debugging section of the compiler options.
Q: Do the Symantec 68K compilers provide support for the Apple Shared Library
Manager(ASLM)?
A: Not yet. Apple is currently working on a revision of the 68 K version of the Apple
Shared Library Mangager. Symantec plans to support version 2.0 of ASLM when it is
completed.
Q: I have installed Symantec C++ 8.0. When I create a New Project and use a project
model with the THINK Project Manager, I get the message:
“The Project model ‘ ProjectName’ has no project file”.
What is wrong?
A: This happens in the THINK Project Manager (7.0.6) when you try to create a new
project based on a Symantec Project Manager project model. The THINK Project
Manager can only use the project models that start with TPM. For example, if you want
to create an ANSI C project, choose TPM ANSI C Project instead of ANSI C Project.
The project types that do not start with TPM are used by the Symantec Project
Manager only.
Special Thanks to Glenn Austin, Michael Hopkins, Craig Conner, Mark Baldwin, Andy
McFarland and Levi Brown.