Jul 95 Top 10
Volume Number: | | 11
|
Issue Number: | | 7
|
Column Tag: | | Symantec Top 10
|
Symantec Top 10
This monthly column, written by Symantecs 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: Im 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: Im 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 Apples 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.